2017
DOI: 10.1016/j.jss.2016.02.002
|View full text |Cite
|
Sign up to set email alerts
|

An empirical study of data decomposition for software parallelization

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1

Citation Types

0
3
0

Year Published

2019
2019
2021
2021

Publication Types

Select...
4
2

Relationship

0
6

Authors

Journals

citations
Cited by 9 publications
(3 citation statements)
references
References 27 publications
0
3
0
Order By: Relevance
“…Furthermore, these resources may define the granularity level that the system can support [20]. There have been few empirical studies for performing data decomposition in the HPC field, [21] investigated this approach when designing parallel applications. Additionally, the state-ofpractice was studied with probing tools used to perform this function.…”
Section: Related Workmentioning
confidence: 99%
“…Furthermore, these resources may define the granularity level that the system can support [20]. There have been few empirical studies for performing data decomposition in the HPC field, [21] investigated this approach when designing parallel applications. Additionally, the state-ofpractice was studied with probing tools used to perform this function.…”
Section: Related Workmentioning
confidence: 99%
“…All such factors introduce new challenges to the process of designing and optimizing parallel applications for these systems. Indeed, in parallelization, the design of data partitioning and distribution is one of the most time-and effort-consuming tasks in runtime optimization [4], [5]. Data partitioning is an important composition unit of data access patterns and significantly affects the performance of an application [6].…”
Section: Introductionmentioning
confidence: 99%
“…Execution model that is being used: Compiled code for CPU Q3: TYPICAL USER PROFILES FOR THE LANGUAGE Roles of the users of this language: End-user Technical knowledge required: Languages (Goal language) Q4: EFFECTIVENESS OF THE LANGUAGE -> Success evaluated, Quantitative comparison performed, Explicit comparison of the language proposal with respect to distinct settings/context/configurations, Two test cases. They performed a number of tests regarding the scalability of the system with respect to a number of factors, Metrics (Lines of code, Satisfaction, Time), Impact on the productivity gains brought (Learnability, Lower cognitive overload, Easier to remember, Expressiveness, Easier to use -Qualitative), Products' performance gains brought (Computation efficiency, Scalability -Quantitative)A.2.6 Java[18,19,20,21,22] Q2: NATURE OF THE LANGUAGEApplication Domain: Grid w applications to Ray tracing and Sequencing; Machine Learning; Specify policies to transform divide and conquer sequential programs into parallel executions Purpose of the language: Formalization of the requirements of the problem, Formalization of the solution, Simulation of the solution, Implement the solution, Data Interpretation Key Advantages: Performance, Portability, Easiness of configuration, Orchestration and Usability (Effectiveness/Efficiency/Satisfaction) Paradigms underlying the language: Object-Oriented, Hybrid (Language to schedule constraint solving) There is a concrete syntax for the language and the preferred representation type is Textual Tool support for the language: Interpreters, Compilers Technologies used to create the language tool suite: XML based technology ( A XML like syntax to describe classes and methods to be scheduled ) Execution stack requirements to support the artifacts created with those languages: VM Supervisor (JVM on grid), OS (any), IO architecture (Grid), Libraries (Apache Spark, 77 Weka 3.6.0, Hadoop 0.20) Execution model that is being used: Virtual Execution Environment ( Java Virtual Machine ), Distributed middleware (Hadoop, Apache Spark), HPC Libraries (Apache Spark), Bytecode for virtual machine (JVM on Grid) Q3: TYPICAL USER PROFILES FOR THE LANGUAGE Roles of the users of this language: End-user Technical knowledge required: Languages (Java) Q4: EFFECTIVENESS OF THE LANGUAGE -> S uccess evaluated, Quantitative comparison performed, Metrics (Lines of code, Time), Impact on the productivity gains brought (Easier to use, Compact representation), Products' performance gains brought (Computation efficiency, Scalability -quantitative) A.2.7 OpenCL [27, 28] Q2: NATURE OF THE LANGUAGE Application Domain: CFD (any application that benefits from GPU), Big Data processing Purpose of the language: Formalization of the requirements of the problem, Implement the solution Key advantages: Performance, Portability, Easiness of configuration, Orchestration, Usability (Effectiveness/Efficiency/Satisfaction) Paradigms underlying the language: Object-Oriented There is a concrete syntax for the language and the preferred representation type can be both Textual and Diagrammatic Existing tool support for the language: Compilers, Tool suite Technologies used to create the language tool suite: GenERTiCA source code generator Execution stack requirements to support the artifacts created with those languages: multiple OS supported Execution model being used: Distributed middleware, HPC Libraries, Bytecode for virtual machine, Compiled code for CPU, Compiled code for GPU The language target specific hardware and GPUs or multi-core architecturesQ3: TYPICAL USER PROFILES FOR THE LANGUAGE Roles of the users of this language: End-user Technical knowledge required: ...…”
mentioning
confidence: 99%