Средства распараллеливания в Java 1.7 (jsr166y...) Михаил Пономаренко, Tech Lead компании Sigma Ukraine
Содержание
- 2. немного истории до java 1.5 были wait notify synchonized в 1.5 - jsr166 java.util.concurrent Future, ThreadExecutor
- 3. немного истории в 1.6 - jsr166x BlockingDeque ConcurrentNavigableMap, NavigableMap в 1.7 - jsr166y ForkJoinPool Phaser ParallelArray
- 4. java.util.concurrent.Phaser
- 5. java.util.concurrent.Phaser void startTasks(List tasks, final int iterations) { final Phaser phaser = new Phaser() { protected
- 6. Fork Join – рекурсивная декомпозиция если задача маленькая - посчитать если большая разбить и посчитать рекурсивно
- 7. JDK7 дает возможность дробить мелко Минимум взаимодействия Fork Join – рекурсивная декомпозиция
- 8. ForkJoin задача 1 2 3 ответ 4
- 9. Детали реализации дополнительной сихронизации не требуется старые разбиения "больше“ Поэтому: У каждого потока свой дек задачь
- 10. Детали реализации готово 100 100 готово готово Готово 50 50
- 11. ForkJoinTask protected abstract boolean exec() ForkJoinTask fork() Не ждет public final V join() То же но
- 12. RecursiveAction extends ForkJoinTask protected void compute() Посчитать Поделить Вызвать invokeAll Сделать join Нужно что то сделать,
- 13. Примеры Doug Lea
- 14. Результаты Doug Lea Быстрее раз процессоров
- 15. Пример 2^28 произвольных чисел double (2 гб) ForkJoinPool pool = new ForkJoinPool(p); SinCosHuge task = new
- 16. Пример import java.util.concurrent.RecursiveTask; public class SinCosHuge extends RecursiveTask { … protected Double compute() { if (to
- 17. Мои измерения Загрузка процессора 100% температура
- 18. Мои измерения, время выполнения. потоков время
- 19. потоков Во сколько раз медленнее минус один
- 20. Мои измерения – относительно самого быстрого потоков Относительная разница в скорости. %
- 21. А если по старому? ThreadExecutorPool Result add(double) waitDone fork ThreadPoolExecutor tpe = new ThreadPoolExecutor(p, p, 10,SECONDS,
- 22. Runnable.run if (to - from double rz = 0; for (int i = from; i rz
- 23. А если по старому? потоков Во сколько раз медленнее минус один
- 24. А если по старому Относительная разница в скорости. % Ниже = лучше потоков
- 25. ParallelArray Судя по всему НЕ попадет в JDK 1.7, но исходники доступны MapReduce в пределах одной
- 26. Пример IBM ParallelArray students = new ParallelArray (fjPool, data); double bestGpa = students.withFilter(isSenior).withMapping(selectGpa).max(); public class Student
- 27. Мой пример new long[16384 * 16384/8] - 1 гб рабочей памяти, double[16384 * 16384/2] – 6гб
- 28. Результаты потоков Во сколько раз медленнее
- 30. Скачать презентацию

























![Мой пример new long[16384 * 16384/8] - 1 гб рабочей памяти, double[16384](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/476848/slide-26.jpg)

Суп. Ингредиенты
Православное учение о человеке
Panda Meetup Анна Панферова
Образец. Портфолио ФИО, профессия, школа обучающегося
7 февраля 2006 г. Пресс-конференция «Вырваться из Сумрака!»
Социальная политика ОАО «Альфа-Банк»
Урок № 8. Взаимное расположение графиков линейных функций
Производство в суде первой инстанции. Процессуальный порядок судебного разбирательства
Психодиагностика детей, как фактор определения психологических механизмов профилактики и коррекции
Пейзажные картины
Культурное наследие Торопца
Презентация на тему Трансформатор. Передача электрической энергии на расстояние
Методика подготовки и описание урока сочинения про животных
Пасхальный сувенир
Форматирование текста на web-странице
Тестовый контрольна уроках математики
Госзаказ-2011основные новации в законодательстве
Бисквитные торты
Дальний Восток России 9 класс
Предмет регулирования и основные положения законопроекта
Презентация на тему Я расскажу вам о себе
Гербы городов мира
Отдел по разработке политики О том поразмысли, что ждет впереди. Цель выбрав благую, к ней прямо иди. (Фирдоуси) СТРАТЕГИЯ антикорру
Россия в творчестве художников передвижников
Торговая площадка Your Things
Повторение - мать учения
Презентация на тему Телевизор
ЗНАНИЯ И ОСНОВНЫЕ МОДЕЛИ ИХ ПРЕДСТАВЛЕНИЯ