Hierarchical Heterogeneous Asynchronous Tasking: Difference between revisions
From Modelado Foundation
imported>Wpinfold (Created page with "Welcome to the wiki pages for the Hierarchical Heterogeneous Asynchronous Tasking (HiHAT, pronounced high-hat, like the musical instrument) effort. We are currently in the fi...") |
imported>Wpinfold No edit summary |
||
Line 7: | Line 7: | ||
* Identifying representative and influential applications that serve as poster children for HiHAT, and developers who are ready to invest in good software engineering to produce an effective, durable, scalable and retargetable result | * Identifying representative and influential applications that serve as poster children for HiHAT, and developers who are ready to invest in good software engineering to produce an effective, durable, scalable and retargetable result | ||
Sign up at the [[https://www.eventbrite.com/e/heterogeneous-hierarchical-asynchronous-tasking-hhat-startup-tickets-30237046821|Eventbrite site]] to get an invite to regular meetings, whose MINUTES are kept [[ | Sign up at the [[https://www.eventbrite.com/e/heterogeneous-hierarchical-asynchronous-tasking-hhat-startup-tickets-30237046821|Eventbrite site]] to get an invite to regular meetings, whose MINUTES are kept [[HiHAT Usage Meeting Minutes|HERE]]. | ||
This wiki presently serves to inform the development of a HiHAT framework in four ways: | This wiki presently serves to inform the development of a HiHAT framework in four ways: | ||
Line 16: | Line 16: | ||
#* purpose: get a deeper appreciation of new usages, see commonalities and patterns across multiple usages | #* purpose: get a deeper appreciation of new usages, see commonalities and patterns across multiple usages | ||
# [[User stories]] | # [[User stories]] | ||
#* formulaic, succinct and more rigorous descriptions of what is wanted out of | #* formulaic, succinct and more rigorous descriptions of what is wanted out of HiHAT | ||
#* As a <role>, I want <function> so that <benefit>, such that <acceptance criteria> | #* As a <role>, I want <function> so that <benefit>, such that <acceptance criteria> | ||
#* purpose: get more rigorous about what is needed | #* purpose: get more rigorous about what is needed | ||
Line 22: | Line 22: | ||
#* Brief description of app and its business importance | #* Brief description of app and its business importance | ||
#* Brief description of app domain | #* Brief description of app domain | ||
#* Qualitative or quantitative analysis of where and how it would benefit from | #* Qualitative or quantitative analysis of where and how it would benefit from HiHAT | ||
#* Expected time table for delivery of a solution (e.g. readiness for the arrival of a new supercomputer at a USG lab), and resources available to implement it with | #* Expected time table for delivery of a solution (e.g. readiness for the arrival of a new supercomputer at a USG lab), and resources available to implement it with HiHAT | ||
#* purpose: identify apps that could lead vehicles that drive the development of an open source project and that would be a poster child that would build confidence for others to follow | #* purpose: identify apps that could lead vehicles that drive the development of an open source project and that would be a poster child that would build confidence for others to follow | ||
Revision as of 21:37, February 1, 2017
Welcome to the wiki pages for the Hierarchical Heterogeneous Asynchronous Tasking (HiHAT, pronounced high-hat, like the musical instrument) effort.
We are currently in the first phase of the development of this framework, in which we are
- Revealing a striking commonality of interests
- Building momentum toward a production-quality, retargetable framework for broad community use
- Gathering usage models and requirements in the form of user stories with acceptance criteria
- Identifying representative and influential applications that serve as poster children for HiHAT, and developers who are ready to invest in good software engineering to produce an effective, durable, scalable and retargetable result
Sign up at the [site] to get an invite to regular meetings, whose MINUTES are kept HERE.
This wiki presently serves to inform the development of a HiHAT framework in four ways:
- Glossary and References
- Usage models
- prosaic descriptions of how HiHAT would be used
- Examples: static vs. dynamic, C++ features, task graph vs. imperative interfaces, multiple files vs. one source file
- purpose: get a deeper appreciation of new usages, see commonalities and patterns across multiple usages
- User stories
- formulaic, succinct and more rigorous descriptions of what is wanted out of HiHAT
- As a <role>, I want <function> so that <benefit>, such that <acceptance criteria>
- purpose: get more rigorous about what is needed
- Applications
- Brief description of app and its business importance
- Brief description of app domain
- Qualitative or quantitative analysis of where and how it would benefit from HiHAT
- Expected time table for delivery of a solution (e.g. readiness for the arrival of a new supercomputer at a USG lab), and resources available to implement it with HiHAT
- purpose: identify apps that could lead vehicles that drive the development of an open source project and that would be a poster child that would build confidence for others to follow
Some key points about this wiki and what gets posted here
- All contributions of ideas and code examples here are considered public. There are no implied restrictions on the reuse of intellectual property or code, in open source or proprietary contexts.
- This is a community effort. It is expected that the whole community will benefit from the considerable efforts of many generous and conscientious people who are working for the common good. Thanks for your investment!
At this point, HiHAT is a descriptive handle, rather than a proper name. It does suggest a top-down and bottom-up approach. Being able to wear many hats is suggestive of the many user-facing interfaces.
For a HiHAT framework to be viable, it needs to support several targets, provide common building blocks, services and transformations in an open architecture, and enable a variety of different applications and frameworks to be built on top. The diagram below suggests one possible arrangement.
If the middle layers are modular, implementations can be created, plugged in, and iteratively refined. They may be freely shared or premium versions could be offered commercially.