<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://hihat.opencommons.org/index.php?action=history&amp;feed=atom&amp;title=Glossary_and_References</id>
	<title>Glossary and References - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://hihat.opencommons.org/index.php?action=history&amp;feed=atom&amp;title=Glossary_and_References"/>
	<link rel="alternate" type="text/html" href="https://hihat.opencommons.org/index.php?title=Glossary_and_References&amp;action=history"/>
	<updated>2026-05-01T22:28:49Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://hihat.opencommons.org/index.php?title=Glossary_and_References&amp;diff=270&amp;oldid=prev</id>
		<title>imported&gt;Admin: Created page with &quot;Below is a list of terms and concepts that could be defined for common usage.  Feel free to add to the list of terms, and to begin offering possible definitions.    == Action...&quot;</title>
		<link rel="alternate" type="text/html" href="https://hihat.opencommons.org/index.php?title=Glossary_and_References&amp;diff=270&amp;oldid=prev"/>
		<updated>2017-06-23T22:22:55Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;Below is a list of terms and concepts that could be defined for common usage.  Feel free to add to the list of terms, and to begin offering possible definitions.    == Action...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Below is a list of terms and concepts that could be defined for common usage.  Feel free to add to the list of terms, and to begin offering possible definitions.  &lt;br /&gt;
&lt;br /&gt;
== Action ==&lt;br /&gt;
Operation that is executed using resources, ordered in a way that maintains dependences, has a specific beginning and end (we need to make this more rigorous)&lt;br /&gt;
Actions may be a different kinds.&lt;br /&gt;
* Compute (task)&lt;br /&gt;
* Data movement&lt;br /&gt;
* Control (synchronization, conditional/predication)&lt;br /&gt;
* Resources management (compute, memory, …), e.g. allocation, physical materialization, deallocation/freeing&lt;br /&gt;
&lt;br /&gt;
== Data source, origin ==&lt;br /&gt;
&lt;br /&gt;
Originator of data communication; where data is transferred from.&lt;br /&gt;
The set of resources with which the source is associated is called the origin, e.g. the origin process, according to the MPI spec.&lt;br /&gt;
&lt;br /&gt;
== Data destination, target  ==&lt;br /&gt;
&lt;br /&gt;
Destination of data communication; where data is transferred to.&lt;br /&gt;
The set of resources with which the destination is associated is called the target, e.g. the target process, according to the MPI spec.&lt;br /&gt;
The corresponding term for target that hStreams uses is &amp;quot;sink.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Event ==&lt;br /&gt;
Handle for an object that tracks whether sync has been triggered, that may be used for communicating the fulfillment of data or control dependences&lt;br /&gt;
== Dependence ==&lt;br /&gt;
== Task ==&lt;br /&gt;
&lt;br /&gt;
Unit of execution that may be split into one or many tasklets.&lt;br /&gt;
&lt;br /&gt;
Open: some use a different term for units of execution that continue to completion vs. those that may stall while waiting on some other input.&lt;br /&gt;
In particular, Qthreads and Argobots differ in terminology here.&lt;br /&gt;
&lt;br /&gt;
We wish to be able to (eventually) support tasks while may stall on some input, and have their resources preempted while they are not data ready.&lt;br /&gt;
&lt;br /&gt;
== Tasklet ==&lt;br /&gt;
&lt;br /&gt;
Non-decomposable unit of execution that performs useful work.&lt;br /&gt;
&lt;br /&gt;
== Hierarchical ==&lt;br /&gt;
* A hierarchy may have some number of levels, some number of actions at each level&lt;br /&gt;
* A hierarchical design facilitates commonality of abstraction across different layers&lt;br /&gt;
* Kinds of hierarchy&lt;br /&gt;
** Data - partitioning of data can imply decomposition of work&lt;br /&gt;
** Control - an aggregation operation can be broken into pieces, and those pieces could range from a simple sequence to a complex task graph with cycles with control&lt;br /&gt;
** Resource - based on topological groups, for example&lt;br /&gt;
&lt;br /&gt;
== Heterogeneous ==&lt;br /&gt;
Heterogeneity comes in different forms&lt;br /&gt;
* Kinds of resources&lt;br /&gt;
** Compute, e.g. CPU, GPU, FPGA, TPU, ASIC&lt;br /&gt;
** Memory, e.g. HBM, DDR, SW-managed cache, level in caching hierarchy&lt;br /&gt;
* Numbers of resources&lt;br /&gt;
** Computing elements&lt;br /&gt;
** Memory bytes&lt;br /&gt;
* Arrangements of resources&lt;br /&gt;
** Topology of computing elements&lt;br /&gt;
** Data layout&lt;br /&gt;
* Implementations&lt;br /&gt;
** Network or connectivity configurations, e.g. choice of fabric&lt;br /&gt;
** Algorithm&lt;br /&gt;
** Code implementation, e.g. for different data layout, different computing kid, number of computing elements, amount of memory, etc.&lt;br /&gt;
&lt;br /&gt;
== Asynchronous ==&lt;br /&gt;
== Execution space ==&lt;br /&gt;
== Memory space ==&lt;br /&gt;
&lt;br /&gt;
== Directory ==&lt;br /&gt;
&lt;br /&gt;
Look up service to identify a sink or source in a lower-level communication substrate.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;It might be wise to externalize a global directory service and make it an optional part of the reference implementation. By so doing, we allow a cottage industry to create competing implementation of such look-up services that serve specific needs of applications, hardware, or the middleware.&amp;#039;&amp;#039;&lt;/div&gt;</summary>
		<author><name>imported&gt;Admin</name></author>
	</entry>
</feed>