Средства распараллеливания в 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)

Преференции членов СНО
Презентация на тему Профессии бывают разные
Ответственность, предусмотренная за нарушение требований трудового права, охраны труда и промышленной безопасности
Проблема проекта: Ненадлежащий вид электричек в Москве
Я и мои права
Лекція 6
Математика вокруг нас
Афоризмы. Дружба
Договор мены
Форма государственного правления Российской Федерации
Битумы (от лат. bitumen горная смола), твердые или смолоподобные продукты. Свойства битумов зависят от способов производства, качества
Ata
Юрий Визбор
Презентация на тему Становление личностных характеристик ученика начальной школы
Дизайн проект помещений пилотного центра занятости ГКУ ЦЗН г. Волгограда
Still loving you
Особенности электроснабжения обогатительных фабрик. Категории качества электроэнергии. Лекция №1
Александр Анатольевич Емельянов Кафедра Математических и инструментальных методов экономики (МиИМЭ) Современные аспекты и раз
Реконструкция
Римское право
Город, улица, микрорайон
Презентация на тему Перспективы использования интерактивных технологий в учебном процессе
О пчелах, колоколах и вечном двигателе
Материнство глазами художников
Как пополнить электронный кошелек «RBK money» через Интернет-банк Банка Русский Стандарт
Особенности построения сибирской избы
Презентация на тему Демографические перспективы
Техническое задание: привязать два варианта дома (вариант 1 и вариант 2) к земельному участку