Что такое хороший проект для улучшения в параллельном / распределенном программировании?

Я идеи для параллельного / распределенного программирования личного проекта. Я знаком с openMP, Intel Cilk, Java Concurrent и MPI, и я чувствую необходимость начать писать что-то большое, но придумаю интересную идею. У тебя есть?

РЕДАКТИРОВАТЬ: То, о чем я думал (но стеснялся сказать вам из-за страха смеяться) было реализация перехватчика отладчика / API-вызова для MPI в Windows. У меня были проблемы с отладкой моих предыдущих проектов, так как я не могу позволить себе выделенный отладчик, и именно так родилась идея. Я прочитал довольно много литературы о перехвате API-вызовов и о том, как работают отладчики, и хотя я не могу претендовать на твердое понимание всей вовлеченной концепции, у меня есть достаточно, чтобы определить некоторые проблемы, которые могут возникнуть, поэтому я хотел бы спросить вас, ребята, это следующий:

  • Это выполнимо? Я не уверен, может ли один человек с ограниченными ресурсами сделать что-то большее, чем игрушка. Мой опыт работы: я студент по информатике и имею опыт работы с Java (приобретен в школе), C ++ и python (более или менее самостоятельно продуманный). Недавно я начал заниматься параллельными и распределенными вычислениями, и мне это понравилось, поэтому мне удалось многое узнать об этом. Мои знания о том, как работают операционные системы, довольно слабые (и главное беспокойство о моей способности развивать этот проект)

  • Это если выполнимо. Какой лучший способ начать? Я прочитал много статей и статей, объясняющих методы отладки, но я все еще не уверен в том, что лучше всего продолжать, учитывая тот факт, что отладчик MPI должен работать на нескольких процессах, возможно на нескольких компьютерах, и иметь отдельные выходные данные для каждого из их. То, о чем я думал до сих пор, кажется глупым.

  • Учимся это делать. У меня проблемы с выбором того, что является хорошим советом, а что плохим / устаревшим советом в том, что я прочитал до сих пор, поэтому, если вы, ребята, знаете какую-нибудь хорошую документацию / ресурсы, чтобы начать что-то подобное, я буду очень благодарен.

2

Решение

Вы можете взглянуть на реализацию Distributed Key Value хранить. это страница проектаИз класса распределенных вычислений в Беркли можно начать. Он будет охватывать понятия

  • Групповое общение и принятие решений
  • Балансировки нагрузки
  • Отказоустойчивость
  • Распределенное хеширование

Вы почувствуете из первых рук о проблемах при разработке распределенных алгоритмов / приложений, и в следующий раз вы прочтете некоторые статьи / алгоритмы, которые помогут оценить мельчайшие детали в них.

1

Другие решения

Почему бы не попробовать модель актеров?

Вот реализация в C ++:
http://www.theron-library.com/

0

По вопросам рекламы [email protected]