Google Summer of Code 2012/2013

Events from the world of KolibriOS and its developers
  • 11. What criteria did you use to select your mentors for this year's program? Please be as specific as possible.
    People who themselves are willing to help others and have required knowledge to do so are selected as mentors. (Нужны проекты чтобы отвечать подробно)
    12. What is your plan for dealing with disappearing students?
    Additional mentors and other students(if they agree) may be assigned to help if students experience lack of documentation on their projects or lack of help. But not much can be done if students loose interest.
    If the unfortunate event happens without any chance to get the student back then mentors will try to finish students project given that his project is close to completion.
    13. What is your plan for dealing with disappearing mentors?
    This normally doesn't happen as our mentors are very dedicated and responsible people. In a rare event when this does happen we will try to find a replacement.
    14. What steps will you take to encourage students to interact with your project's community before, during and after the program?
    Wiki page contains documentation on Kolibri internals and Kolibri API. The source code is available through SVN including the web access.
    Students can ask questions real-time on our IRC channel or chat. Question on forum are answered promptly as there is always a number of knowledgeable members hanging around. Our forum members gladly accept and reply private messages.
  • Придумал тему.

    В многоядерных конфигурациях стартовать одно физическое ядро и использовать его для выполнения всех графических операций.

    Обоснование.

    Для большого числа систем низкая скорость обмена с видеопамятью является ключевым фактором, ограничивающим быстродействие системы. Например для моего i5-2400+H67 отрисовка 30 кадров в секунду с разрешением 1280*1024*32bpp приводит к 100% загрузке процессора. При этом скорость обмена с видеопамятью составляет всего 150Мb в секунду. 100% загрузка в этом случае означает лишь то, что процессор подавляющую часть времени проводит в ожидании завершения операции обмена с видеопамятью.Его можно сравнить с автомобилем, стоящим в пробке с выключенным мотором.

    Перенос графических операций на другое физическое ядро:
    1. Освободит основной процессор для выполнения полезной работы.
    (То есть он будет спать на hlt 99% времени, как ему и положено )
    2. Снизит нагрузку на L1 и L2 кеш.
    Все графические операции в ядре выполняются с проверкой принадлежности пикселя при помощи байтовой карты окон. Это приводит к тому, что при выполнении графических операций полезные данные из L1 и L2 вытесняются данными оконной карты. При этом низкая скорость видеопамяти существенно снижает пользу от кеширования оконной карты. Физические ядра современных процессоров имеют индивидуальные L1/L2 кеши. Таким образом выполнение графических операций другим ядром значительно снизит нагрузку на кеш-память основного ядра. (И мы сможем убить кеш битмапами )

    PROFIT реализатора идеи.
    Практические навыки определения числа физических ядер в MP системе, инициализации AP и принципов работы LAPIC.
    Глубокое понимание механизмов синхронизации доступа к данным, необходимости синхронизации TLB, а также блокировки и взаимной блокировки ядер.
    Бесценный опыт трассировки и отладки многопоточного кода в SMP версии Bochs.

    P.S. Я убрал смайлики.
    Last edited by Serge on Wed Feb 22, 2012 2:13 am, edited 1 time in total.
  • Звучит нереально круто. Если мнение плохих программистов и скромных дизайнеров важно, то я за.
    Из хаоса в космос
  • Для студентов изучающих SMP самое то. Это на порядок проще чем реализация полноценной SMP системы, но все подводные камни MP присутствуют и испытываются на собственной шкуре.
    Race conditions, deadlock, TLB inconsistency ( всех этих слов на русском нет ©Наше всё). Если хочешь по настоящему научиться, Колибри самый подходящий вариант. Ядро достаточно простое, своего SMP нет, а все необходимые условия для запуска AP есть. Эмуляция виртуального GPU задача не самая сложная. Можно посмотреть на VMware или придумать свой API. Реально получить опыт, который не даст ни один учебный курс и штудирование всего Open source SMP кода.
  • Serge
    Задачка что надо: сложная, интересная, оригинальная, полезная.
    И еще - покажет преимущества Колибри как идеальной среды для low-level экспериментов.
    Таким образом выполнение графических операций другим ядром значительно снизит нагрузку на кеш-память основного ядра. (И мы сможем убить его битмапами )
    в самую точку :D
  • Из хобби ос перемещаемся в сегмент обучения студентов. Жаль только в ту пору прекрасную жить не придется ни мне ни тебе в России так и будут плодить дельфи-программистов.
  • art_zh
    Кеш: Такая уж наша боярская доля.
  • Кстати замечание насчет кеша процессора не совсем справедливо. Очень много моделей с общим кешем, так что могут быть и накладки в производительности.
  • Mario
    Надо смотреть. Всё относилось только к физическим ядрам. L1 там как правило индивидуальный. Всякие гипертрейдинги и бульдозерные модули не в счёт. Хотя и с них должен быть профит.
    Единственный непонятный момент это контроллер памяти. Как он обрабатывает такие медленные запросы и не встанет ли на них. Чего я не не понимаю, так это почему у меня такая низкая скорость записи. Ведь это физически та же двухканальная DDR3 что и системная память. Откуда такие тормоза ?
  • Прошёл год... Встречайте Google Summer of Code 2013. В этот раз вы как хотите, а заявку я подам :-)
  • Поддерживаю, заявка на SummerCode нужна. Однако нужна страница, например как у QEMU http://wiki.qemu.org/Google_Summer_of_Code_2012 или у других проектов участвующих в GSoC
  • XVilka wrote:Поддерживаю, заявка на SummerCode нужна. Однако нужна страница, например как у QEMU http://wiki.qemu.org/Google_Summer_of_Code_2012 или у других проектов участвующих в GSoC
    Так вот зачем ты мне вчера вечером админа на Вики предлагал :lol: Ну давай теперь админа, что уж.
  • Клёвая идея!
    Из хаоса в космос
  • Время поджимает. Надо заполнять эту страницу http://wiki.kolibrios.org/wiki/Google_S ... _Code_2013 содержанием, и создать отдельную страницу для собственно идей/возможных проектов. См., например, как это сделано у coreboot http://www.coreboot.org/GSoC и http://www.coreboot.org/Project_Ideas

    Прошу обратить внимание на таблицу внизу - со списком координаторов и менторов. Также, прежде чем подаваться в менторы, необходимо осознать меру ответственности и быть способным уделять время своим студентам каждую неделю
  • Who is online

    Users browsing this forum: No registered users and 8 guests