LINUXTALKS.CO

Не могу придумать название

 

L


0

1

Есть компонент process. Этот компонент использует shm. Кусок этой памяти представляет собой массив. Каждая ячейка в этом массиве называется slot.

Процесс бывает двух типов master и worker. При каждом рестарте или релоаде мастер «увольняет» старые слоты, старые воркеры завершаются, а новые воркеры «захватывают» свободные слоты.

Первое:

Компонент process занимается и вопросами shm и вопросами мастера и вопросами воркера.

Решение: пилим его на три компонента: shm, master и worker. А slot остается как есть и относится к shm. Ок, делаем.

Второе:

Для ускорения работы, каждый воркер при запуске один раз оббежав большой массив, должен закешировать данные из слотов, актуальных к его циклу жизни и знать о всей своей бригаде. Ок, делаем.

Третье:

Таким образом у нас появляется еще один вид слота. Структурки весьма похожи, но предназначены для разных целей.

Помогите найти синоним к слову «slot» или иные названия для этих видов «слотов» подходящие по контексту.

З.Ы.: Анон, жги!

★★★★★★★★★★
Ответ на: комментарий от ashot

«cached_slot»

Но тогда вернее «shm_slot» и «worker_slot», но не все так просто, выглядеть в итоге оно будет вот так: «xxx_process_shm_slot_t» и «xxx_process_worker_slot_t» и вот такие макароны я совсем не желаю размазывать по коду – чем короче, тем лучше. Поэтому и прошу одно НЕ составное слово.

deep-purple    
★★★★★★★★★★
Linux / Firefox (RU)

Помогите найти синоним к слову «slot» или иные названия для этих видов «слотов» подходящие по контексту.

Если у тебя в коде есть master, то где то в нём же должен быть slave.

rezedent12    
★★★★★★
Последнее исправление: rezedent12 (всего исправлений: 2)

Windows / Firefox (RU)
Ответ на: комментарий от rezedent12

В разделяемой памяти хранится массив структур, которые сейчас названы слотами. В каждом таком слоте хранится флаг состояния (свободен, занят, уволен, завершаюсь), индекс, равный индексу этого слота в массиве слотов и пид воркера, захватившего этот слот, если он захвачен.

А кешированые слоты (второй вид) отличаются отсутствием пида, наличием указателя next и в поле индекса хранится порядковый индекс кешированого слота, а не индекс слота из разделяемой памяти.

deep-purple    
★★★★★★★★★★
Android / Firefox (RU)
Ответ на: комментарий от deep-purple

Опять не понял?

Да подожди ты! Я только сел возле компьютера.

В разделяемой памяти хранится массив структур, которые сейчас названы слотами. В каждом таком слоте хранится флаг состояния (свободен, занят, уволен, завершаюсь), индекс, равный индексу этого слота в массиве слотов и пид воркера, захватившего этот слот, если он захвачен.

Task

А кешированые слоты (второй вид) отличаются отсутствием пида, наличием указателя next и в поле индекса хранится порядковый индекс кешированого слота, а не индекс слота из разделяемой памяти.

Не уверен что понял.

Я может чего то не понимаю, но твоя программа случаем не занимается созданием множества копий одних и тех же данных в оперативной памяти?

rezedent12    
★★★★★★
Windows / Firefox (RU)
Ответ на: комментарий от rezedent12

занимается созданием множества копий одних и тех же данных в оперативной памяти

Как частный случай – да. Воркеры (это отдельные процессы) обмениваются кучей данных через пайпы/сокетные пары. Инициатор какой-то части уникальных данных только один из воркеров, но остальные воркеры всегда получают от инициатора копию этих данных.

Однако, эта функциональность уже никак не относится к моему вопросу. И не понятно, как это поможет тебе придумать названия.

deep-purple    
★★★★★★★★★★
Android / Firefox (RU)
Ответ на: комментарий от rezedent12

Task

Уже присутствует. Да и врядли можно назвать тасками что-то не динамическое, доступное разным процессам и хранящее тупо флаги.

deep-purple    
★★★★★★★★★★
Android / Firefox (RU)
Ответ на: комментарий от deep-purple

Я сам столкнулся с такой проблемой и принял решение копировать данные, для того что бы избежать ошибок. Но в моём случае, это просто сообщения в telegram и ответы на них. Если бы это было бы чем то побольше, то заморочился бы передавать исключительно по указателю.

Task

Уже присутствует. Да и врядли можно назвать тасками что-то не динамическое, доступное разным процессам и хранящее тупо флаги.

Задание, exercise.

rezedent12    
★★★★★★
Windows / Firefox (RU)
Ответ на: комментарий от rezedent12

Это не задания. Слоты перезанимаются только между перезапусками приложения. И только хранять пару-троку флагов для удобства доступа «по ключу».

deep-purple    
★★★★★★★★★★
Android / Firefox (RU)