Beyond Locks and Messages: The Future of Concurrent Programming
Conclusions
Here’s the tongue-in-cheek summary of the trends which, if you believe that the HPCS effort provides a glimpse of the future, will soon be entering the mainstream:
1. Threads are out (demoted to latency controlling status), tasks (and semi-implicit parallelism) are in.
2. Message passing is out (demoted to implementation detail), shared address space is in.
3. Locks are out (demoted to low-level status), transactional memory is in.
Показаны сообщения с ярлыком Sun. Показать все сообщения
Показаны сообщения с ярлыком Sun. Показать все сообщения
четверг, 9 сентября 2010 г.
вторник, 1 декабря 2009 г.
ROCK Hardware Transactional memory - Sun technical report
ROCK Hardware Transactional memory - Sun technical report
Abstract
We report on our experience with the hardware transactional memory (HTM) feature of two revisions of a prototype multicore processor. Our experience includes a number of promising results using HTM to improve performance in a variety of contexts, and also identifies some ways in which the feature could be improved to make it even better. We give detailed accounts of our experiences, sharing techniques we used to achieve the results we have, as well as describing challenges we faced in doing so. This technical report expands on our ASPLOS paper [9], providing more detail and reporting on additional work conducted since that paper was written.
"...In Sections 4 through 10, we present results from our experiments using HTM in a number of contexts: We use HTM to implement simple operations such as incrementing a counter (in Section 4) and a double compare-and-swap (DCAS). We then use the DCAS to reimplement some components of the JavaTM concurrency libraries (see Section 5). Next, we experiment with transactional hash tables (in Section 6) and red-black trees (in Section 7)..."
P.S. From Davide Dice blog.
Abstract
We report on our experience with the hardware transactional memory (HTM) feature of two revisions of a prototype multicore processor. Our experience includes a number of promising results using HTM to improve performance in a variety of contexts, and also identifies some ways in which the feature could be improved to make it even better. We give detailed accounts of our experiences, sharing techniques we used to achieve the results we have, as well as describing challenges we faced in doing so. This technical report expands on our ASPLOS paper [9], providing more detail and reporting on additional work conducted since that paper was written.
"...In Sections 4 through 10, we present results from our experiments using HTM in a number of contexts: We use HTM to implement simple operations such as incrementing a counter (in Section 4) and a double compare-and-swap (DCAS). We then use the DCAS to reimplement some components of the JavaTM concurrency libraries (see Section 5). Next, we experiment with transactional hash tables (in Section 6) and red-black trees (in Section 7)..."
P.S. From Davide Dice blog.
Ярлыки:
Davide dice,
HTM,
Rock,
Sun,
TM
вторник, 24 ноября 2009 г.
Sun Certification: SCJP
В Java главными и, пожалуй, единственными признаваемыми Серьезными Конторами сертификатами являются сертификаты от Sun.
Третий уровень: SCEA
Второй уровень: SCJD, SCWCD, SCBCD, SCDJWS, SCMAD
Первый уровень: SCJP
Экзамены следующего уровня можно сдавать только сдав хотя бы один из экзаменов предидущего уровня.
Сама подготовка к SCJP позволяет не просто узнать действительно много нового из java core, но и досконально это самое коре изучить.
Для подготовки к сдаче SCJP рекомендую:
1) кроме чтения специальной литературы по подготовке именно к SCJP;
2) отличная статья Дениса Жданова на rsdn.ru "Подготовка к Sun Certified Java Programmer(SCJP) exam";
3) JavaRanch Rule Round-up Game;
4) The new and improved JavaRanch Rules Round-up Game;
5) SCJP 1.6 Mock Exam Practice Questions.
P.S. По моим личным впечатлением ничего сложнее SCJP по Core Java я не встречал (ни в других тестах, ни на собеседованиях), в Украине сдают в Киеве, вроди есть в Харькове (в ХИРЭ). Стоит порядка 1500-2000гр. При поступлении на работу стоит обговорить с работодателем возможность оплаты экзаменов (многие конторы имеют такую опцию).
Третий уровень: SCEA
Второй уровень: SCJD, SCWCD, SCBCD, SCDJWS, SCMAD
Первый уровень: SCJP
Экзамены следующего уровня можно сдавать только сдав хотя бы один из экзаменов предидущего уровня.
Сама подготовка к SCJP позволяет не просто узнать действительно много нового из java core, но и досконально это самое коре изучить.
Для подготовки к сдаче SCJP рекомендую:
1) кроме чтения специальной литературы по подготовке именно к SCJP;
2) отличная статья Дениса Жданова на rsdn.ru "Подготовка к Sun Certified Java Programmer(SCJP) exam";
3) JavaRanch Rule Round-up Game;
4) The new and improved JavaRanch Rules Round-up Game;
5) SCJP 1.6 Mock Exam Practice Questions.
P.S. По моим личным впечатлением ничего сложнее SCJP по Core Java я не встречал (ни в других тестах, ни на собеседованиях), в Украине сдают в Киеве, вроди есть в Харькове (в ХИРЭ). Стоит порядка 1500-2000гр. При поступлении на работу стоит обговорить с работодателем возможность оплаты экзаменов (многие конторы имеют такую опцию).
Ярлыки:
Certification,
SCJP,
Sun
среда, 14 октября 2009 г.
Наши пацаны(Oracle+SUN) отделали соседских(IBM)!
Помните Oracle+SUN приняли вызов от IBM со 100.000 tps(transactions per second)?
Так вот! Наши пацаны их сделали!
"Конфигурация Oracle-Sun потребляла в 4 раза меньше електроэнергии, чем конфигурация IBM, работая при этом на 26% быстрее.
Тест Oracle-Sun продемонстрировал в 16 раз лучшие показатели времени отклика при проведении транзакции, чем тест IBM."
Так вот! Наши пацаны их сделали!
"Конфигурация Oracle-Sun потребляла в 4 раза меньше електроэнергии, чем конфигурация IBM, работая при этом на 26% быстрее.
Тест Oracle-Sun продемонстрировал в 16 раз лучшие показатели времени отклика при проведении транзакции, чем тест IBM."
вторник, 29 сентября 2009 г.
Микро-курс по concurrency от SUN
Тут микро-курс по concurrency от SUN. Даже с двумя упражнениями в конце :). Стоит прочитать.
P.S. Кстати тут и тут просто множество коротеньких курсов от SUN по разнообразным базовым темам из Явы.
P.S. Кстати тут и тут просто множество коротеньких курсов от SUN по разнообразным базовым темам из Явы.
суббота, 26 сентября 2009 г.
A Survey of Concurrency Constructs
В презентации от SUN "A Survey of Concurrency Constructs" рассматриваются различные подходы в утилизации многоядерности + перечисляются плюсы/минусы каждого подхода:
- Threads/Locks
- Actors
- Dataflow
- Tuple spaces
- Threads/Locks
- Actors
- Dataflow
- Tuple spaces
вторник, 22 сентября 2009 г.
Chip Multithreading (CMT)
Тут (Multithreaded Application Acceleration with Chip Multithreading (CMT), Multicore/Multithread UltraSPAR C® Processors) SUN популярно объясняет, чем вызвано использование CMT и какие дает преимущества на примере VoIP телефонии, поиска строк и антивирусной защиты. Если кратко, то большинство потоков в реальных приложениях заблокированы на операциях доступа к памяти (ОЗУ), имея много потоков на одно ядро можно быстро перебрасывать ресурсы ядра от блокированного потока к неблокированному.
"Sun Microsystems was the first company to recognize that the speed of data access from memory was the critical bottleneck, and has overcome this problem with the chip multithreading (CMT) architecture that is the basis of the UltraSPARC® T1 and T2 processors."
"Even if a particular thread stalls while waiting for data to be available from memory, the core can switch immediately to another thread and the pipeline remains continuously active, doing useful work."
"These simpler pipelines can process a large number of simultaneous threads, rather than running a single thread as quickly as possible."
"Sun Microsystems was the first company to recognize that the speed of data access from memory was the critical bottleneck, and has overcome this problem with the chip multithreading (CMT) architecture that is the basis of the UltraSPARC® T1 and T2 processors."
"Even if a particular thread stalls while waiting for data to be available from memory, the core can switch immediately to another thread and the pipeline remains continuously active, doing useful work."
"These simpler pipelines can process a large number of simultaneous threads, rather than running a single thread as quickly as possible."
Ярлыки:
CMT,
Sun,
UltraSPARC
100.000 transactions-per-second
Тут Oracle + Sun бросают вызов IBM по мощности DB-серверов.
IBM на своем железе со своей DB2 выдала 100.000 tps, Oracle на железе и операционке от Sun обещает, что даст больше :).
IBM на своем железе со своей DB2 выдала 100.000 tps, Oracle на железе и операционке от Sun обещает, что даст больше :).
Oracle will support Sun's hardware platform
Был пост посвященный процессору от SUNа - Rock. Oracle заявила:
"... на новейшие аппаратные разработки этой компании Oracle имеет «большие планы». Эллисон признает, что одним из мотивов, побудивших его корпорацию купить Sun, являются именно аппаратные разработки. ..."
"... Определенно, что мы будем развивать существующий аппаратный бизнес, это самое главное, на чем мы намерены сейчас сосредоточиться. Этот подход не противоречит стратегии Oracle ...".
А вся соль в том, что новейшие разработки SUNа - это в том числе Hardware Transaction Memory (HTM).
"... на новейшие аппаратные разработки этой компании Oracle имеет «большие планы». Эллисон признает, что одним из мотивов, побудивших его корпорацию купить Sun, являются именно аппаратные разработки. ..."
"... Определенно, что мы будем развивать существующий аппаратный бизнес, это самое главное, на чем мы намерены сейчас сосредоточиться. Этот подход не противоречит стратегии Oracle ...".
А вся соль в том, что новейшие разработки SUNа - это в том числе Hardware Transaction Memory (HTM).
Ярлыки:
HTM,
Oracle,
Rock,
Sun,
Transaction Memory
Sun's chip multithreading (CMT)
Предыдущий пост был посвящен технологии Intel Hyper Threading, позволяющей работать на одном ядре 2 потокам. Это еще один тренд на рынке современных процессоров. Более ярким выразителем направления "много потоков на ядре" является Sun's chip multithreading (CMT) с процессором SUN UltraSPARK T2 - 8 ядер по 8 потоков, итого 64 потока одновременно. Ссылки с сайта:
Datasheet
Brochure
Вот более свежая разработка Rainbow Falls - 16 ядер по 8 потоков, итого 128 потоков одновременно.
Datasheet
Brochure
Вот более свежая разработка Rainbow Falls - 16 ядер по 8 потоков, итого 128 потоков одновременно.
Ярлыки:
chip multithreading,
CMT,
Rainbow Falls,
Sun,
UltraSPARK T2
воскресенье, 13 сентября 2009 г.
Rock from SUN - 16 cores/32 threads
[http://en.wikipedia.org/wiki/Rock_(processor)]
"The Rock processor implements the 64-bit SPARC V9 instruction set and the VIS 3.0 SIMD multimedia instruction set extension.Each Rock processor has 16 cores, with each core capable of running two threads simultaneously, yielding 32 threads per chip. Servers built with Rock use FB-DIMMs to increase reliability, speed and density of memory systems. The Rock processor uses a 65nm manufacturing process for a design frequency of 2.3 GHz.The maximum power consumption of the Rock processor chip is approximately 250W."
Ко всему этому - это один из первых процессоров аппаратно поддерживающих Transactional Memory. А это одна из самых перспективных технологий для разработки баз данных, а Oracle купил SUN:)
"In August 2007, Sun confirmed that Rock would be the first production processor to support transactional memory."
"The Rock processor implements the 64-bit SPARC V9 instruction set and the VIS 3.0 SIMD multimedia instruction set extension.Each Rock processor has 16 cores, with each core capable of running two threads simultaneously, yielding 32 threads per chip. Servers built with Rock use FB-DIMMs to increase reliability, speed and density of memory systems. The Rock processor uses a 65nm manufacturing process for a design frequency of 2.3 GHz.The maximum power consumption of the Rock processor chip is approximately 250W."
Ко всему этому - это один из первых процессоров аппаратно поддерживающих Transactional Memory. А это одна из самых перспективных технологий для разработки баз данных, а Oracle купил SUN:)
"In August 2007, Sun confirmed that Rock would be the first production processor to support transactional memory."
Sun Labs Scalable Synchronization Research Group
Тут [http://research.sun.com/scalable/, http://research.sun.com/projects/dashboard.php?id=29] расположилась Sun Labs Scalable Synchronization Research Group. Эта группа сконцентрирована в основном на различных реализациях Software Transaction Memory (STM). Им принадлежат такие разработки, как dstm2, Hybrid Transactional Memory Library (SkySTM), Phased Transactional Memory (PhTM), Hybrid Transactional Memory (HyTM).
По-моему мнению, dstm2 - одна из лучших реализаций STM. Кстати, Fortress, язык, позиционируемый как наследник Fortran, реализован как раз на dstm2.
Также они заинтересованы в
- Non-blocking Progress Conditions
- Non-blocking Memory Management
- Mostly Nonblocking Data Structures
- Formal Verification
Эти люди часто встречаются в качестве авторов важнейших статей и книг: Dave Dice, Maurice Herlihy, Victor Luchangco, Virendra Marathe, Mark Moir, Dan Nussbaum, Nir Shavit.
Golovach Ivan
По-моему мнению, dstm2 - одна из лучших реализаций STM. Кстати, Fortress, язык, позиционируемый как наследник Fortran, реализован как раз на dstm2.
Также они заинтересованы в
- Non-blocking Progress Conditions
- Non-blocking Memory Management
- Mostly Nonblocking Data Structures
- Formal Verification
Эти люди часто встречаются в качестве авторов важнейших статей и книг: Dave Dice, Maurice Herlihy, Victor Luchangco, Virendra Marathe, Mark Moir, Dan Nussbaum, Nir Shavit.
Golovach Ivan
Подписаться на:
Сообщения (Atom)