Коллеги приветствую,
Хочу обратиться с советом по архитектурной задаче, решение которой я полностью провалил.
У меня было около 20 минут на решение .
Представим себе многоядерную компьютерную систему.
Есть ряд поступающих разнородных событий, сетевые,от файловой системы, от видеокамеры к примеру ну и т.д
Задача состоит в распределении обработчиков этих задач по ядрам, так чтобы ядра процессора не простаивали.
Обработчики задач будем считать чисто вычислительными, без каких то возможных ожиданий на ввод/вывод.
Т.е будем считать, что количество активных задач должно быть равным кол-ву ядер CPU.
Обеспечить обработку следует с как можно более высокой скоростью, и без простоя процессора.
Собственно задание: спроектировать структуру классов для решения данной задачи.
Взаимосвязи, интерфейсы и все такое.
Вопрос как действовать при решении подобных задач? Я в полной растерянности сейчас пребываю.
Я столько хочу готовое решение получить, сколько понять какие походы используются при решении подобных архитектурных задач. Какую литературу может почитать и т.д.
На ум приходят только "паттерны проектирования" и Александеску "Современное проектирование .... "
К сожалению на работе практики подобных задач нет, подобными вещами занимается выделенный отдел архитекторов ПО.