пятница, 18 июня 2010 г.

The Hotspot Java Virtual Machine

In slides The Hotspot Java Virtual Machine there is many links to GC books/articles.

вторник, 15 июня 2010 г.

[PJP]: Google Developers - Numbers Everyone Should Know

From "Google: Designs, Lessons and Advice from Building Large Distributed Systems":
Numbers Everyone Should Know

L1 cache reference ------------------------- 0.5 ns
Branch mispredict --------------------------- 5 ns
L2 cache reference ------------------------- 7 ns
Mutex lock/unlock --------------------------- 25 ns
Main memory reference ------------------- 100 ns
Compress 1K bytes with Zippy ----------- 3,000 ns
Send 2K bytes over 1 Gbps network ---- 20,000 ns
Read 1 MB sequentially from memory --- 250,000 ns
Round trip within same datacenter ------ 500,000 ns
Disk seek ------------------------------------- 10,000,000 ns
Read 1 MB sequentially from disk -------- 20,000,000 ns
Send packet CA->Netherlands->CA ----- 150,000,000 ns

четверг, 10 июня 2010 г.

[PJP]: Broker vs. Brokerless

Broker vs. Brokerless

Table of Contents
- Introduction
- Broker
- No Broker
- Broker as a Directory Service
- Distributed broker
- Distributed directory service
- Conclusion

вторник, 8 июня 2010 г.

Cliff Click vs Doug Lea: about fence-less CAS

Interesting conversation(s) with Doug Lea

Abstract
We are discussing the merits of a no-fence CAS instruction - and exposing this instruction at the Java level. Since Intel does not have a no-fence this whole idea is a no-op for Intel. Right now there is a weak spurious-fail-allowed CAS in the Unsafe to mimic load-linked/store-conditional ops, to get buy-in from IBM whose chips do LL/SC instead of CAS. Doug wants to the fence-less CAS to allow spurious failure, and I do not because it causes me to add retry loops in places.

пятница, 4 июня 2010 г.

The Pauseless GC Algorithm

The Pauseless GC Algorithm from Azul Virtual Machine (AVM).

Abstract
Modern transactional response-time sensitive applications have run into practical limits on the size of garbage collected heaps. The heap can only grow until GC pauses exceed the responsetime limits. Sustainable, scalable concurrent collection has become a feature worth paying for.

Azul Systems has built a custom system (CPU, chip, board, and OS) specifically to run garbage collected virtual machines. The custom CPU includes a read barrier instruction. The read barrier enables a highly concurrent (no stop-the-world phases), parallel and compacting GC algorithm. The Pauseless algorithm is designed for uninterrupted application execution and consistent mutator throughput in every GC phase.

Beyond the basic requirement of collecting faster than the allocation rate, the Pauseless collector is never in a “rush” to complete any GC phase. No phase places an undue burden on the mutators nor do phases race to complete before the mutators produce more work. Portions of the Pauseless algorithm also feature a “self-healing” behavior which limits mutator overhead and reduces mutator sensitivity to the current GC state.

We present the Pauseless GC algorithm, the supporting hardware features that enable it, and data on the overhead, efficiency, and pause times when running a sustained workload.

P.S. This GC works on Azul Machines (700+ cores).

Profiling java.util.concurrent locks

Profiling java.util.concurrent locks

Abstract
IBM’s Yao Qi, Raja Das, and Zhi Da Luo describe jucprofiler, an alphaWorks tool designed to profile multicore applications that make use of the java.util.concurrent classes introduced in Java 5.

вторник, 1 июня 2010 г.

Семинары приостановлены

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