Оптимизация

GeneROOT – иновативни подходи в биоинформатиката

Анотация

Извличането на човешкия геном исторически е поставяло значителни технологични и финансови предизвикателства, често надхвърлящи милиони долари. Последните подобрения в техниките за извличане значително намаляват тези разходи, което довежда до широкомащабно извличане и съхранение на геномни данни. За илюстрация, данните, извлечени от човешкия геном, обикновено възлизат на приблизително 500 GB. Анализирането на такива данни за различни изследователски цели често включва големи групи от субекти, което води до набори от данни, които достигат обем от порядъка на петабайти (PB). Това нарастване на обема на данните повдига критични проблеми, свързани със съхранението, извличането, обработката и визуализацията им.

От друга страна, CERN има богат опит в управлението на подобни обеми от данни и организацията разработва софтуерна система, известна като ROOT за работа с големи масиви от физични данни. Проектът GeneROOT включва адаптиране на ROOT за обработка на биологични данни. В определени аспекти ранните прототипи на GeneROOT демонстрират превъзходство над част от вече установените софтуери за работа с данни, свързани с биоинформатика. GeneROOT притежава значителен потенциал за по-нататъшни подобрения в компресирането, съхранението, извличането, обработката и визуализацията на данни. Трябва да се изследва и потенциалът на GeneROOT за работа в HPC (high performance computing) среда.

Агентното моделиране е незаменим инструмент за изучаване на сложни биологични системи. Съществуващите симулационни платформи обаче не винаги се възползват напълно от съвременния хардуер и често имат софтуерен дизайн, специфичен за дадено конкретно задание.

BioDynaMo е нова платформа за симулация, която намира решение и за двата проблема. Платформата разполага с модулено и високопроизводително симулационно ядро. BioDynaMo може да се използва за симулиране на сценарии в сферите на: неврологията, онкологията и епидемиологията. За всеки сценарии се валидират добитите резултати с експериментални данни или аналитично решение. Получените резултати от ефективността показват, че BioDynaMo работи до три порядъка по-бързо от най-съвременните алтернативи. Това подобрение прави възможно симулирането на сценарии на използване с над един милиард агенти на един сървър, демонстрирайки потенциала, който BioDynaMo има за изследвания в областта на изчислителната биология.


Необходимо време

1-2 години.

Домейн специфични оптимизации за Plugin базирани системи

Цели

Да се реализират домейн специфични методи за оптимизация на plugin базирани системи, като се използва съществуващата инфраструктура на SolidOpt framework.

Описание

Plugin модулите са мощен инструмент за създаване на лесно разширяеми системи, но това обикновено влошава работата/бързодействието на цялата система. Един добър компромис може да се постигне, когато системата не може да се разширява по всяко време на работата си, а само като тя се стартира. Това отваря възможности за прилагане на оптимизации на цялата система и plugin-ите и за намаляване на влиянието на слабата свързаност на нейните модули върху бързодействието. Оптимизации като сливане на plugin модули с базовата програма, автоматично маркиране на класовете като sealed, девиртуализация на методи, премахване на някои от шаблоните за дизайн и т.н. са само примери за това как можете да постигнат по-добри резултати, без да губи гъвкавостта и добрия дизайн на системата. Резултатите от оптимизации могат да бъдат кеширани за да се избегне провеждането на тези тежки анализи и трансформации при всяко стартиране на програмата. Този подход позволява оптимизациите да се извършват само когато се добавят или се премахват модули.

Реализираното приложение трябва да бъде в състояние да се трансформира и да кешира резултата, след което трансформираната система трябва да се стартира. Трансформации трябва да се правят само ако кеша е невалиден (например набора от плъгини се е променил, конфигурацията се е променила и т.н.). Трябва да се помисли за рисковете за сигурността и дали преобразуването не може да бъде направено чрез системна услуга или демон.

Дипломантите ще придобият по-широки познания по програмиране на ниско ниво и създаване и автоматизирана трансформация на високомодулни софтуерни системи.

Сложност

Средна/Висока.

Необходимо време

6-12 месеца.

Реализиране на Unit тестове за SolidOpt

Цели

Да се реализират unit тестове върху функционалността на инструментариума SolidOpt. Да се изготви документация на тестваната функционалност.

Описание

Модулното тестване (Unit testing) е метод за валидиране и проверка на софтуера, при който програмистът тества отделните софтуерни модули на сорс кода дали са годни за използване. Модулът е най-малката част от приложението, която може да бъде тествана. В императивното програмиране модула може да бъде процедура, функция или метод.

Областта на дипломната работа е подобласт на осигуряване на качеството на софтуера (Quality Assurance). Дипломантите ще придобият по-широки познания по програмиране, разработване на тестови случаи за приложения, анализ на последователността на изпълнение, както и интеграцията им в система като SolidOpt.

Сложност

Средна/Висока.

Необходимо време

6-12 месеца.

Разпространи съдържание