CFV: Project Trinity
cthalinger at twitter.com
Fri Apr 21 21:54:14 UTC 2017
> On Apr 21, 2017, at 11:41 AM, Karthik Ganesan <karthik.ganesan at oracle.com> wrote:
> 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.
I disagree. The first paragraph on the Sumatra project page says:
"This primary goal of this project is to enable Java applications to take advantage of graphics processing units (GPUs) and accelerated processing units (APUs)--whether they are discrete devices or integrated with a CPU--to improve performance.”
while you state:
"This Project would explore enhanced execution of bulk
aggregate calculations over Streams through offloading
calculations to hardware accelerators.”
It’s the same thing. I just don’t see the need to spin up yet-another OpenJDK project that aims at the same goal.
> On 4/21/2017 3:18 PM, Christian Thalinger wrote:
>> Why can’t we use Project Sumatra for this?
>>  http://openjdk.java.net/projects/sumatra/
>>> On Apr 21, 2017, at 8:28 AM, Karthik Ganesan <karthik.ganesan at oracle.com> wrote:
>>> 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 ).
>>> 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 .
>>> 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
>>> (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 .
>>> 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  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 .
>>> Karthik Ganesan
>>>  https://community.oracle.com/docs/DOC-994842
>>>  https://bugs.openjdk.java.net/browse/JDK-8150304
>>>  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)
>>>  http://openjdk.java.net/census#members
>>>  http://openjdk.java.net/projects/#new-project-vote
More information about the discuss