CFV: Project Trinity

Karthik Ganesan karthik.ganesan at
Fri Apr 21 21:41:28 UTC 2017

Hi Christian,

Thanks for your interest. This question was brought up previously in the 
discussion email thread for this project:

Project Sumatra was aimed at translation of Java byte code to execute on
GPU, which was an ambitious goal and a challenging task to take up. In this
project, we aim to come up with APIs targeting the most common Analytics
operations that can be readily offloaded to accelerators transparently. Most
of the information needed for offload to the accelerator is expected to be
readily provided by the API semantics and there by, simplifying the need to
do tedious byte code analysis.

On 4/21/2017 3:18 PM, Christian Thalinger wrote:
> Why can’t we use Project Sumatra[1] for this?
> [1]
>> On Apr 21, 2017, at 8:28 AM, Karthik Ganesan <karthik.ganesan at> wrote:
>> Hi,
>> I would like to propose the creation of a new Project:
>> Project Trinity with myself as the Lead and the Core
>> Libraries Group as the Sponsoring Group.
>> This Project would explore enhanced execution of bulk
>> aggregate calculations over Streams through offloading
>> calculations to hardware accelerators.
>> Streams allow developers to express calculations such
>> that data parallelism can be efficiently exploited. Such
>> calculations are prime candidates for leveraging enhanced
>> data-oriented instructions on CPUs (such as SIMD
>> instructions) or offloading to hardware accelerators
>> (such as the SPARC Data Accelerator co-processor, further
>> referred to as DAX [1]).
>> To identify a path to improving performance and power
>> efficiency, Project Trinity will explore how libraries
>> like Streams can be enhanced to leverage data processing
>> hardware features to execute Streams more efficiently [2].
>> Directions for exploration include:
>> - Building a streams-like library optimized for offload to
>> -- hardware accelerators (such as DAX), or
>> -- a GPU, or
>> -- SIMD instructions;
>> - Optimizations in the Graal compiler to automatically
>> transform suitable Streams pipelines, taking advantage
>> of data processing hardware features;
>> - Explorations with Project Valhalla to expand the
>> range of effective acceleration to Streams of value types.
>> Success will be evaluated based upon:
>> (1) speedups and resource efficiency gains achieved for a
>> broad range of representative streams calculations under
>> offload,
>> (2) ease of use of the hardware acceleration capability, and
>> (3) ensuring that there is no time or space overhead for
>> non-accelerated calculations.
>> The project will host at least the following mailing list:
>> - trinity-dev for development discussions and user feedback
>> - trinity-design for design and specification discussions
>> About the Lead:
>> Karthik Ganesan works for Oracle in the Performance and
>> Applications Engineering group with more than 5 years of
>> experience in Java/Hotspot performance projects [3].
>> The initial Reviewers and Committers will be:
>> * Ahmed Khawaja
>> * Karthik Ganesan
>> * Malcolm Kavalsky
>> * Shrinivas Joshi
>> Votes are due by May 4, 2017.
>> Only current OpenJDK Members [4] are eligible to vote on this
>> motion.  Votes must be cast in the open on the discuss list.
>> Replying to this message is sufficient if your mail program
>> honors the Reply-To header.
>> For Lazy Consensus voting instructions, see [5].
>> Karthik Ganesan
>> [1]
>> [2]
>> [3] Karthik Ganesan, Yao-Min Chen and X Pan, “Scaling
>> Java Virtual Machine on a Many-core System” at 14th
>> International Symposium on Integrated Circuits (ISIC 2014)
>> [4]
>> [5]

More information about the discuss mailing list