24 сентября 2013 г.

SSTable & LSM-Tree

Многие NoSQL базы данных, в основе которых лежат концепции Google BigTable, в качестве формата файла для хранения данных на диске используют SSTable. К таким базам можно отнести, например, Cassandra, HBase и LevelDB. Однако, не смотря на обилие информации об этих хранилищах, мало кто задается вопросом, почему именно SSTable? Именно на этот вопрос я и постараюсь дать развернутый ответ.

16 сентября 2013 г.

7-я конференция .NET-разработчиков

dotnetconf cassandra

22 сентября 2013 состоится 7-я конференция .NET разработчиков, на которой я выступлю с докладом “Cassandra: быстрая запись данных в высоконагруженных системах”. Доклад будет посвящен такой замечательной базе данных, как Cassandra, и моему практическому опыту ее использования.

Что такое базы данных типа "column family"? Как с ними работать и какие задачи можно решать на их основе? Что такое уровень согласованности? Как обеспечить сверхбыструю запись под высокими нагрузками?

В рамках предстоящего доклада я постараюсь ответить на эти и многие другие вопросы. При этом, следуя сложившимся на dotnetconf традициям, упор будет сделан на практику.

Приходите! :)

UPD: Опубликовал презентацию и примеры

Демонстрационный пример (C#, 780 Kb)

5 октября 2011 г.

Поддержка IntelliSense для CUDA в Visual Studio 2010

Чтобы начать разработку приложения на базе технологии CUDA, нужно выполнить ряд предустановок. Однако первое, с чем сталкивается разработчик, приступая к разработке, это отсутствие поддержки IntelliSense и статического анализа кода. Ниже приводится описание того, как можно решить данную проблему, сделав работу с CUDA намного приятней.

StaticCodeAnalysis

2 октября 2011 г.

Материалы семинара “Вычисления на GPU”

GpgpuTechnologies

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

Между тем наблюдается особый интерес к гибридным решениям – параллельной обработки информации на разных вычислительных устройствах. Популярна стала тема вычислений с использованием графических процессоров (GPU), появилось направление вычислений общего характера на базе GPU (GPGPU). И это не случайно, ведь если многоядерные CPU появились относительно недавно, то GPU изначально проектировались с упором на возможность параллельной обработки данных, поскольку графические задачи хорошо вписываются в эту концепцию. На сегодняшний день GPU представляет собой не просто графический ускоритель, а является мощным многоядерным вычислительным процессором, на базе которого можно решать сложные математические задачи.

Сегодня есть несколько серьезных решений, которые воплощают в жизнь идеологию GPGPU: NVIDIA CUDA, ATI Stream Computing, DirectCompute. Также идет активная работа над разработкой открытого стандарта программирования GPU – это проект OpenCL.

На фоне названных событий на кафедре “Информатика” ЮУрГУ был организован открытый семинар на тему вычислений на GPU. На текущий момент утверждены следующие темы:

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

Место и время проведения мероприятия: ЮУрГУ, Кафедра “Информатика”, 3Б-корпус, ауд. 258 (проспект Ленина 87, 2 этаж). Время будет уточнено позже, здесь и в моей ленте http://twitter.com/AlexMAS. Если вы хотите посетить данное мероприятие, напишите мне на почту, чтобы в случае чего была возможность выбрать аудиторию нужного размера.

Часть I: Введение в CUDA

* Презентация снабжена подробными комментариями

Часть II: Обзор CUDA API

Связанные материалы

29 сентября 2011 г.

Создание простого приложения CUDA в Visual Studio 2010


VS2010WithCUDA

С выходом Visual Studio 2010 были связаны некоторые изменения в настройках проектов C++. В частности была удалена возможность создавать собственные правила компиляции. Эти изменения внесли определенные сложности в процесс создания проектов CUDA. Далее рассматривается минимально необходимый набор действий для создания простого приложения на базе технологии CUDA в Visual Studio 2010.

25 сентября 2011 г.

Расширение функциональности с использованием метаданных и аспектно-ориентированного программирования

Сегодня прошла 3-я конференция .NET-разработчиков. На мой взгляд, все получилось довольно позитивно. Хотелось бы поблагодарить всех участников конференции, отдельно – слушателей моего доклада. Надеюсь, что понравилось.

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

27 мая 2011 г.

Построение уровня доступа к данным с использованием шаблона “Спецификация”

Сегодня завершилась конференция для разработчиков программного обеспечения DevCon’11. На конференции было представлено множество интересных докладов, получено немало положительных эмоций. Помимо основных докладов к дню открытия конференции на сайте techdays.ru был опубликован ряд видео докладов по ключевым темам. Хочу представить вашему вниманию свой доклад на тему, обозначенную в названии статьи.

Доклад посвящен практическому применению шаблона “Спецификация”, в частности рассмотрен вопрос построения уровня доступа к данным на базе указанного шаблона с использованием существующих LINQ-провайдеров. Первая треть доклада теоретическая, раскрывает суть шаблона и область его применения. Во второй части рассмотрена суть технического решения. Третья часть посвящена построению Web-клиента на базе ASP.NET MVC 3 и вопросу настраиваемых фильтров данных.

Ссылки