Единое окно доступа к образовательным ресурсам

Первая международная конференция разработчиков свободных программ на Протве: Тезисы докладов

Голосов: 0

В сборнике представлены программа конференции и тезисы докладов, одобренных Программным комитетом Первой международной конференции разработчиков свободных программ на Протве, которая состоялась в Обнинске 29-30 июля 2004 года.

Приведенный ниже текст получен путем автоматического извлечения из оригинального PDF-документа и предназначен для предварительного просмотра.
Изображения (картинки, формулы, графики) отсутствуют.
        30 июля

                 Утреннее заседание
                           10:00–11:45

    Секция 1
    (Председатель — Александр Боковой)



10:00–10:25
Дмитрий Тараканов                                        Москва, Intel

  Разработка эффективных приложений для
   процессоров семейства Intel r XScaleTM

    Аннотация:
    Доклад посвящён основным характеристикам, возможностям и пре-
    имуществам процессоров семейства XScaleTM . Будут приведены
    данные тестирования производительности процессоров семейства
    XScaleTM и других процессоров.

Рынок для процессоров Intel R XScaleTM . Процессоры семейства
PXA2xx для карманных устройств:
   • RISK архитектура;
   • Высокая производительность — частоты до 600Mhz;
   • Низкое потребление;
   • Интерфейс с видео/фото камерами ;
   • Полная линейка процессоров для решений разного уровня;

                                 31


   • Объединение коммуникационной и вычислительной
     функциональности;
   • Портирование приложений традиционных для десктопа на
     карманные устройства.
Архитектура ARM*:
   • 16 32-битных регистра общего назначения
   • 4Гб адресного пространства
   • Байтная адресация
   • 8/16/32 битные инструкции чтения записи
   • Требуется выравнивание данных
   • Упрощённый набор команд
   • 32-битные опкоды, выравненные на 32 бита
   • Вся арифметика 32-битная целая
   • Нет FPU, нет деления, нет call/return, нет стека
   • Дополнительные команды доступны через сопроцессоры
     MMU/MPU, cache control, FP, DSP etc.
Сравнение XScaleTM vs. P4;
Среда разработки: Windows* 2000/XP
Целевые процессоры: Intel R PXA25x/26x
Следующие поколения процессоров Intel R XScaleTM
Целевые ОС:
Windows* CE 3.0/.NET
Symbian* OS
Palm* OS
Библиотеки поддержки: Intel R IPP
Поддержка приложений сторонних разработчиков: ARM ADS
Microsoft* Windows* CE .NET Platform Builder / eMbedded* Visual
C++*
GNU
Почему рекомендуется использовать компилятор Intel R ? Разработан
производителем процессора:


                                  32


   • Полная поддержка микроархитектуры Intel R XScaleTM
   • Получение оптимизированного кода
   • Первоочередная поддержка новых особенностей аппаратуры
   • Совместим с компилятором Microsoft* C++ compiler
   • Приложения Intel R дополняют и развивают приложения
     Microsoft для MS Platform Builder (разработка систем) для MS
     eMbedded Visual C++ (разработка приложений)
   • Intel R C++ compiler может быть легко выключен/включён.
Совместим с компилятором Microsoft По синтаксису опций, например:
{1|2|3} — установка уровня оптимизации;
/Zi — создание отладочной информации;
По синтаксису прагм, например:
#pragma optimize( "[optlist]", {on | off} )
Компилятор Intel R запускает компилятор Microsoft для генерации
файлов PCH для просмотра исходных текстов (source browser).
Возможность смешивания объектных модулей Intel и Microsoft*;
Объектный формат совместим с Microsoft*; Компоновка прикладных
объектов с библиотеками MS*;

   • Поддержка режима Thumb компании ARM* (16-бит)
   • Включение в проекте ARM: опция /Q_cgopt=thumb
   • Полностью Thumb проект: создаётся обычным путём в eMbedded
     Visual C++
   • Нет необходимости прикомпоновывать специальную библиотеку
   • Доступен для Microsoft Windows CE .NET
   • Предоставляется дополнительная оптимизированная библиотека
     run-time
   • Быстрая эмуляция операций FP, целочисленное деление
   • Оптимизированные версии strcmp, strcpy
   • Замещает стандартные библиотеки MS*

                                33


Top 5 полезных советов:
  1. Исправьте ошибки перед тем как начинать оптимизацию.
  2. Используйте компилятор Intel!
       • Лучшие run-time библиотеки.
       • векторизация и оптимизация.
       • Помогите компилятору!
  3. Используйте VTune для анализа производительности и поиска
     узких мест!
  4. Оптимизируйте использование кэша!
       • Кэш-промах стоит 150 циклов.
       • Используйте preload() (works on ARM, too).
       • Advanced: XScaleTM имеет дополнительный mini cache и
         позволяет замораживать данные в кэше.
  5. Ручная оптимизация критических мест.
       • Используйте DSP-расширения, iMPT, WMMX.
       • Оптимизируйте ветвления.
       • Оптимизируйте циклы.
  6. Используйте оптимизированные IPP/GPP библиотеки.




10:25–10:50
Никита Винокуров          Москва, IBM Восточная Европа/Азия, Центр
                                                  компетенции Linux

                      Linux on POWER

    Аннотация:
    Цели, ближайшие перспективы и проблемы развития ПО с открытым
    исходным кодом и ОС Линукс в частности на платформе PowerPC.
    Взгляды компании IBM на процесс портирования и использования
    ОС Линукс на PowerPC. Особенности архитектуры PowerPC.



                                 34


Взгляд IBM на развитие Linux on Power
    Технология POWER присутствует на рынке уже более 13 лет и ис-
пользуется в промышленной эксплуатации среди 64-битных серверов
с 1994 года. Linux — это зрелая, защищённая и проверенная операци-
онная система. Фактически — это самая быстрорастущая операционная
система, поддерживаемая сегодня на серверах.
    IBM продолжает фокусировать свои действия на помощи клиентам
в переходе на открытые ИТ-системы, помогая им снизить стоимость их
владения. Использование POWER-архитектуры простирается от игро-
вых приставок до суперкомпьютеров. IBM активно участвует в усиле-
нии Linux-on-Power как надёжной, открытой и мощной вычислительной
платформы.

Поддержка разработчиков
    Компания IBM, продвигая Power как более быструю и надёжную
платформу для запуска Linux-приложений нежели Intel, заинтересова-
на в том, чтобы разработчики портировали свои приложения с Intel-
Linux и Windows архитектур на PowerPC+Linux и всячески поддержи-
вает этот процесс. Например, организован форум разработчиков, осуще-
ствляющих миграцию, который также поддерживается разработчиками
из Linux Technology Center компании IBM http://linuxppc.org. В ре-
гионах работают центры инноваций, включённых в программу тестиро-
вания Linux-приложений на технике IBM http://www.developer.ibm.
com/spc/, помогая разработчикам ПО тестировать свои приложения без
покупки техники.

Линейка продуктов
    Вычислительные системы, основанные на архитектуре PowerPC,
представлены на рынке в виде двух линеек серверов eServer: iSeries
и pSeries. Эти две серии машин используют, фактически, один тип про-
цессора — Power4. Различаются они только лишь позиционированием
на рынке и способностью организовывать логические разделы (LPAR).
Сейчас появились новые версии машин iSeries, работающих на Power5.

Дистрибутивы
    В данный момент, основными дистрибьюторами ОС Linux, кото-
рые заявили о поддержке платформы PowerPC являются SuSE, Red-


                                35


Hat, TurboLinux, YellowDogLinux и Gentoo. Причём, компания IBM, в
свою очередь, объявила поддерживаемыми только три из них: SuSE,
RedHat и TurboLinx. Во все эти дистрибутивы входит набор для кросс-
компиляции приложений в 64-битный код (кроме Gentoo, где 64-х бит-
ная платформа является "родной"), поскольку основная масса приложе-
ний, кроме ядра и нескольких системных утилит работает в 32-битном
режиме.

Приложения
    Все приложения, входящие в названные выше дистрибутивы порти-
рованы на платформу PowerPC. Практически все они работают в 32-бит-
ном режиме. Портированы также ключевые продукты компании IBM:
DB2, Java, VisualAge, WebSphere, Lotus Domino. Существуют в портах
такие приложения как Mozilla и OpenOffice.org. Однако, с портиро-
ванием приложений с использованием 64-х бит, существуют пробле-
мы, которые открытому сообществу разработчиков предстоит решить
http://linuxppc64.org,http://dev.gentoo.org/\~{}tgall

Архитектура PowerPC
Технологии
     Два ядра на одном чипе. Общий кэш L3. Медные соединения.
Кремний на изоляторе. Distributed Switch. Позволяют добиться более
высокой надёжности и производительности за счёт снижения тепловы-
деления и увеличения интеграции (170млн транзисторов). Конструкция
Distributed Switch и организация SMP обеспечивают практически ли-
нейный рост производительности с увеличением числа процессоров (до
32-х). В Power5 объявлена поддержка MultiThreading — одновременного
выполнения двух потоков инструкций одним ядром.

LPAR
    Поддержка логических разделов. Одновременно, на каждой машине
может быть запущено несколько операционных систем в так называе-
мых, логических разделах. Ресурсы машины, такие как процессор, па-
мять и устройства ввода-вывода разделяются между операционными
системами. Например, на линейке серверов pSeries, минимальное ко-
личество процессоров и карт ввода-вывода на один LPAR может быть



                                36


выделено 1 и 2 соответственно. В iSeries, процессор можно делить на
большее количество LPAR (до 32-х).
    Пока Linux не умеет использовать динамическое перераспределе-
ние процессоров, памяти и устройств ввода-вывода в LPAR, хотя та-
кая возможность существует, но работа в этом направлении ведётся
(ветка 2.6.x ядра). Использование LPAR позволяет снизить удельную
стоимость аппаратного обеспечения, приходящегося на операционную
среду.

Архитектура процессора
    Процессор PowerPC — это RISC (Reduced Instruction Set Comput-
ing) процессор. Все вычислительные операции производятся в реги-
страх. А работа с памятью ограничивается только загрузкой/выгрузкой
регистров. Команды процессора PowerPC разделяются на 3 уровня спе-
цификации: Уровень приложения (наиболее переносимый), Виртуаль-
ный уровень (управление кэшированием, таймером, специфический для
разных реализаций) и Уровень операционной среды (управление памя-
тью, исключительными ситуациями). Уменьшенное ядро, таким образом
позволяет использовать интеграционные мощности для оптимизации ра-
боты процессора, например, организации конвейера.
    Платформа PowerPC, по мнению IBM, является наиболее перспек-
тивной с технологической точки зрения и должна занять доминирующие
позиции как на серверном рынке, так и на рынке персональных вычис-
лений в ближайшем будущем.



10:50–11:15
Антон Качалов                                        Москва, ALT Linux

   Opie — свободная графическая среда для
             мобильных устройств

    Аннотация:
    Доклад посвящён проекту разработки свободной графической среды
    Opie, разрабатываемой для КПК и других устройств, работающих под
    управлением ОС Linux. Также в докладе освещаются вопросы состо-
    яния проекта и перспектив его разработки.

                                  37


     Opie родился в начале 2002 года как ветвь Qtopia, разработанного
Trolltech. На сегодняшний день команда Opie насчитывает более полу-
сотни разработчиков. Opie переведён на десяток языков, включая рус-
ский. Благодаря усилиям разработчиков и пожеланиям пользователей,
в интерфейс постоянно вносятся улучшения.
     Opie построен на библиотеке QT Embedded — реализация QT для
встраиваемых устройств. Opie рассчитан на работу под управлением ОС
Linux на следующих устройствах: Sharp Zaurus, HP iPAQ, Casio Cas-
siopeia. Взаимодействие с приложениями Opie обеспечивается посред-
ством Touch pad (эмуляция мышки), а также с помощью клавиатуры. В
Opie есть средства для настройки и работы с сетью. Многие приложения
имеют интеграцию, например, для работы с IrDa. Opie может работать
со следующими классами устройств: IrDa, Wlan, Ethernel, BlueTooth.
Кроме того, данные можно синхронизировать с такими приложениями
как KDE PIM, MS Outlook и Qtopia Desktop. Многие программы, ском-
пилированные для Qtopia, будут работать в Opie. В ближайших планах
стоит полный перевод приложений на модульный интерфейс, позволяю-
щий ускорить запуск программ. При разработке Opie за базовый язык
программирования был взят C++.
     В рамках проекта Opie автор работает над приложением, облегча-
ющим манипуляцию пакетами. Решение основано на использовании apt
как клиент-серверного приложения: хранение хэшей и все вычисления
возлагаются на хост-систему, а на клиентской стороне хранится список
пакетов и зависимостей для миграции с одной хост-системы на другую
и установку пакетов в обход использования apt.
     Так же планируется расширение возможностей hasher для нативной
сборки пакетов на системах с другой архитектурой и со слабой дисковой
подсистемой. В этом решении в роли диска, на котором будет проис-
ходить сборка, выступает nfs-root (или afs-root). Схема работы проста:
hasher работает на хост-системе, а rpmbuild выполняется на сборочной
системе. Дисковые операции (такие как распаковка/архивирование фай-
лов, копирование/перемещение) будут выполняться на хост-системе.




                                 38


11:15–11:40
Надежда Плотникова                               Нижний Новгород, Intel

  Разработка многопточных приложений для
       архитектур ia32/ia64 под Linux с
    использованием Intel r Threading Tools

    Аннотация:
    В докладе будут рассмотрены реализации потоков в POSIX стандарте
    и библиотека OpenMP; особое внимание будет уделено проблемам, с
    которыми сталкивается разработчик многопоточных приложений. Бу-
    дет показано, как с помощью Intel R Threading Tools находятся и
    устраняются эти проблемы (включая потенциальные) и как анализи-
    руется производительность приложений.

     Многопоточное программирование и отладка программ под Linux с
помощью Intel R Threading Tools. Существует большое количество спо-
собов распараллеливания как на уровне архитектуры, так и программно.
Параллелизм в модели общей памяти является наиболее доступным и
привлекательным для конечного пользователя, т. к. позволяет использо-
вать имеющиеся ресурсы (2-4 CPU SMP машины, такие как, например,
ZeonTM, ItaniumTM Platform Family, Pentium R 4 with HT и т. п.) мак-
симально эффективно. Это достигается путём использования потоков.
     Существуют несколько вариантов реализации многопоточности, де-
лящиеся на 2 подкласса: явные и неявные потоки. В первом случае это
потоки в стандарте POSIX, использующие Linux native API и требую-
щие явного использования синхронизационных примитивов, а во втором
случае это библиотека OpenMP и возможность автоматического распа-
раллеливания циклов с помощью компилятора.
     Однако применение всех типов потоков — задача непростая и поро-
ждает целый класс специфических ошибок, таких как data races, dead
locks и т. п., на поиск и устранение которых может потребоваться много
времени. Intel представляет набор инструментов для отладки и анализа
производительности многопоточных приложений: Intel R Thread Checker
и Thread Profiler. Использование Intel R Thread Checker позволяет найти
практически все известные, а также потенциально возможные ошибки
распараллеливания. Thread Profiler показывает картину исполнения по-
токов, все объекты синхронизации и прочую информацию о потоках.

                                  39


    Секция 2
    (Председатель — Анатолий Якушин)



10:00–10:25
Роман Савоченко                  Украина:Днепродзержинск, НИП DIYA
Проект: OpenSCADA

                  Проект «OpenSCADA»

    Аннотация:
    OpenSCADA представляет собой открытую SCADA(Supervisory Con-
    trol And Data Acquisition) систему, построенную по принципам мо-
    дульности, кроссплатформенности и масштабируемости. Программа
    OpenSCADA предназначена для сбора, архивирования, визуализации
    информации, выдачи управляющих воздействий, а также других род-
    ственных операций характерных для полнофункциональной SCADA
    системы.

    OpenSCADA представляет собой открытую SCADA систему, по-
строенную по принципам модульности, многоплатформенности и мас-
штабируемости. SCADA (Supervisory Control And Data Acquisition) с
английского означает: супервизорные системы контроля и сбора дан-
ных.
    В качестве политики разработки данной системы выбраны open
source принципы. Выбор данной политики определяется необходимо-
стью создания открытой, надёжной и общедоступной SCADA систе-
мы. Система OpenSCADA предназначена для выполнения как обычных
функций SCADA систем, так и для использования в смежных областях
информационных технологий.
    Система OpenSCADA может использоваться:
   • на промышленных объектах в качестве полнофункциональной
     SCADA системы;
   • внутри PLC (программируемый логический контроллер) в
     качестве среды исполнения;
   • встраиваться в различное оборудование;

                                  40



    
Яндекс цитирования Яндекс.Метрика