practice
Doi: 10.1145/1924421.1924437
Article development led by
queue.acm.org
Exposing SIMD units within interpreted
languages could simplify programs and
unleash floods of untapped processor power.
By Jonathan PaRRi, DanieL shaPiRo,
mioDRaG BoLiC, anD VoiCu GRoza
Returning
Control to the
Programmer:
simD
intrinsics
for Virtual
machines
SERVER And woRKSTATIon hardware architecture is
continually improving, yet interpreted languages—
most importantly, Java—have failed to keep pace with
the proper utilization of modern processors. SIMD
(single instruction, multiple data) units are available
in nearly every current desktop and
server processor and are greatly underutilized, especially with interpreted
languages. If multicore processors
continue their current growth pattern,
interpreted-language performance
will begin to fall behind, since current
native compilers and languages offer
better automated SIMD optimization
and direct SIMD mapping support.
As each core in commercial x86 multicore processors includes a dedicated
SIMD unit, the performance disparity
will grow exponentially as long as the
available SIMD units remain underutilized in interpreted-language environments.
Software design and computer architecture have seen the evolution of
parallel data processing, but it has not
been fully utilized within the interpreted-language domain. Taking full ad-