Skip to content

Commit 3339426

Browse files
authored
Merge pull request #2554 from hpe-dev-incubator/cms/platform/dragonhpc/home
Create Platforms “dragonhpc/home”
2 parents 99ad0c1 + 8de4982 commit 3339426

File tree

9 files changed

+143
-63
lines changed

9 files changed

+143
-63
lines changed

content/blog/3-ways-a-data-fabric-enables-a-data-first-approach.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ disable: false
77
tags:
88
- hpe-ezmeral-data-fabric
99
- hpe-ezmeral
10+
- dragonhpc
1011
---
1112
**Editor’s note: This article was originally posted on HPE Enterprise.nxt on March 15, 2022**
1213

@@ -34,10 +35,8 @@ Data motion is a key issue in large-scale data systems. Data motion can include
3435

3536
At one extreme, people may have an ingrained assumption that data motion is not a viable option, based on legacy systems that lack any provision for moving data. Without motion, data that could have value if put into a more global context may be discarded instead.
3637

37-
3838
![Block text](/img/3waysadatafabric-enablesadatafirstapproach-quote.png "Block text")
3939

40-
4140
At other companies, the pendulum has swung radically to the opposite extreme, with a policy that all data to be analyzed must be moved to a central data center, either on premises or in the cloud. Unfortunately, the costs of data motion mount up, and where large amounts of data are at issue, only a tiny fraction of all possible data will be moved. Once again, data you could analyze is simply discarded.
4241

4342
Fortunately, a new middle ground is emerging. In telecommunications, finance, media, manufacturing, and other business sectors, far more data is collected than could possibly be moved back to headquarters. Data is partially processed in situ before extracts and summaries are moved to a central location or a regional sub-center for further analysis on aggregates from many edge sources. This edge processing strategy commonly uses pattern recognition to pull out the interesting bits or anomalies for transfer.
@@ -81,8 +80,8 @@ Having the right data infrastructure lets you focus on the decisions that will m
8180
### Lessons for leaders
8281

8382
* A data fabric is a highly scalable data infrastructure designed to store, manage, and move data as a unifying layer across an enterprise from edge to data center, on premises or in the cloud.
84-
* A well-engineered modern data fabric allows DevOps and other teams to access data in the way they prefer.
85-
* Making wrong assumptions about data motion is one of the most common ways businesses inadvertently give up their ability to extract value from data.
83+
* A well-engineered modern data fabric allows DevOps and other teams to access data in the way they prefer.
84+
* Making wrong assumptions about data motion is one of the most common ways businesses inadvertently give up their ability to extract value from data.
8685

8786
<br />
8887

content/opensource/dragonhpc.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
---
2+
title: DragonHPC
3+
active: true
4+
category: Cloud Native
5+
link: /platform/dragonhpc/home/
6+
description: DragonHPC is a programmable distributed runtime for HPC & AI workflows.
7+
priority: 17
8+
Featured: true
9+
image: /img/opensource/Kubedirector.svg
10+
---
11+
DragonHPC is a programmable distributed runtime for HPC & AI workflows.

content/platform/dragonhpc/home.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
---
2+
title: DragonHPC
3+
version: 1.0.0
4+
description: DragonHPC is a programmable distributed runtime for HPC & AI workflows.
5+
image: /img/platforms/dragon_deployment.jpg
6+
width: large
7+
priority: 4
8+
active: true
9+
tags:
10+
- dragonhpc
11+
---
12+
DragonHPC is a programmable distributed runtime for HPC & AI workflows. The DragonHPC distributed runtime will power complex post-exascale workflows that can scale, that are cloud-native, that can access data efficiently, that can span multiple systems, and that can be used with multiple languages on heterogeneous hardware.
13+
14+
## Key advantages of using DragonHPC
15+
16+
Among other frameworks and libraries, DragonHPC addresses much of the friction developers and scientists face when approaching a computational problem:
17+
18+
* Program across widely distributed resources (e.g., laptops, servers, cloud, supercomputers) as if they were all one computer.
19+
20+
* Implement applications and workflows across Python, C, C++, and Fortran with interoperable high-performance objects instead of being locked into a single language.
21+
22+
* Implement Python-based applications and workflows using the standard multiprocessing API instead of non-standard interfaces.
23+
24+
* Develop applications and highly dynamic workflows without the limitations of static execution graphs.
25+
26+
* Orchestrate individual or collections of Python functions, binaries, and MPI processes.
27+
28+
* Leverage RDMA and leading-edge HPC communication techniques through simple high-level interfaces and communication objects instead of communication through a filesystem.
29+
30+
Users can also access DragonHPC at any level of its architecture. This allows users to develop new components within Dragon that natively interoperate with existing components. Flexibility, composability, and the ability to adopt DragonHPC for applications, tools, and workflows with strict performance requirements dramatically improves user productivity.
31+
32+
## Online resources for getting up and running with DragonHPC
33+
34+
[Public open source code repository with example use cases ![](Github)](https://github.com/DragonHPC/dragon)
35+
36+
[Public open source code repository ![](Github)](https://dragonhpc.github.io/dragon/doc/_build/html/index.html)

gatsby-config.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -429,6 +429,7 @@ module.exports = {
429429
"determined-ai",
430430
"cray",
431431
"swarm-learning",
432+
"dragonhpc",
432433
"hpe-nonstop"
433434
]}}}, sort: {frontmatter: {date: DESC}}) {
434435
nodes {
@@ -493,6 +494,7 @@ module.exports = {
493494
paginatedCollection('determined-ai-posts', 'determined-ai'),
494495
paginatedCollection('cray-posts', 'cray'),
495496
paginatedCollection('swarm-posts', 'swarm-learning'),
497+
paginatedCollection('dragonhpc-posts', 'dragonhpc'),
496498
paginatedCollection('hpe-nonstop-posts', 'hpe-nonstop'),
497499
paginatedCollection('dscc-posts', 'data-services-cloud-console'),
498500
{

gatsby-node.js

Lines changed: 32 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -201,13 +201,14 @@ exports.createPages = async ({ graphql, actions }) => {
201201
paginatedCollectionQuery('smartsim-posts'),
202202
);
203203

204-
const crayQueryResult = await graphql(
205-
paginatedCollectionQuery('cray-posts'),
206-
);
204+
const crayQueryResult = await graphql(paginatedCollectionQuery('cray-posts'));
207205

208206
const swarmQueryResult = await graphql(
209207
paginatedCollectionQuery('swarm-posts'),
210208
);
209+
const dragonhpcQueryResult = await graphql(
210+
paginatedCollectionQuery('dragonhpc-posts'),
211+
);
211212

212213
const hpeNonStopQueryResult = await graphql(
213214
paginatedCollectionQuery('hpe-nonstop-posts'),
@@ -242,41 +243,42 @@ exports.createPages = async ({ graphql, actions }) => {
242243
setPagination(smartsimQueryResult);
243244
setPagination(crayQueryResult);
244245
setPagination(swarmQueryResult);
246+
setPagination(dragonhpcQueryResult);
245247
setPagination(hpeNonStopQueryResult);
246248
setPagination(othersQueryResult);
247249

248-
return graphql(
249-
`
250-
{
251-
allMarkdownRemark(
252-
filter: { frontmatter: { disable: { ne: true } } }
253-
sort: {frontmatter: {date: DESC}}
254-
limit: 1000
255-
) {
256-
edges {
257-
node {
258-
fields {
259-
slug
260-
sourceInstanceName
261-
}
262-
frontmatter {
263-
title
264-
disable
265-
tags
266-
isAside
267-
}
250+
return graphql(`
251+
{
252+
allMarkdownRemark(
253+
filter: { frontmatter: { disable: { ne: true } } }
254+
sort: { frontmatter: { date: DESC } }
255+
limit: 1000
256+
) {
257+
edges {
258+
node {
259+
fields {
260+
slug
261+
sourceInstanceName
262+
}
263+
frontmatter {
264+
title
265+
disable
266+
tags
267+
isAside
268268
}
269269
}
270270
}
271-
tagsGroup: allMarkdownRemark(limit: 2000,
272-
filter:{frontmatter:{disable:{ne:true}}}) {
273-
group(field: {frontmatter: {tags: SELECT}}) {
274-
fieldValue
275-
}
271+
}
272+
tagsGroup: allMarkdownRemark(
273+
limit: 2000
274+
filter: { frontmatter: { disable: { ne: true } } }
275+
) {
276+
group(field: { frontmatter: { tags: SELECT } }) {
277+
fieldValue
276278
}
277279
}
278-
`,
279-
).then((result) => {
280+
}
281+
`).then((result) => {
280282
if (result.errors) {
281283
throw result.errors;
282284
}

src/components/BlogTabs/index.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,10 @@ function BlogTabs({ data, columns }) {
116116
label: 'HPE Swarm Learning',
117117
count: data?.swarmBlogsCount?.totalCount || 0,
118118
},
119+
dragonhpcBlogs: {
120+
label: 'DragonHPC',
121+
count: data?.dragonhpcCount?.totalCount || 0,
122+
},
119123
hpeNonstopBlogs: {
120124
label: 'HPE NonStop',
121125
count: data?.hpeNonstopBlogsCount?.totalCount || 0,
@@ -147,6 +151,10 @@ function BlogTabs({ data, columns }) {
147151
label: 'SmartSim',
148152
count: data.smartSimBlogsCount?.totalCount || 0,
149153
},
154+
dragonhpcBlogs: {
155+
label: 'Dragonhpc',
156+
count: data.dragonhpcBlogsCount?.totalCount || 0,
157+
},
150158
};
151159

152160
const platformsMenuItems = Object.entries(data)
@@ -416,6 +424,7 @@ BlogTabs.propTypes = {
416424
dsccBlogsCount: PropTypes.objectOf(PropTypes.number),
417425
crayBlogsCount: PropTypes.objectOf(PropTypes.number),
418426
swarmBlogsCount: PropTypes.objectOf(PropTypes.number),
427+
dragonhpcBlogsCount: PropTypes.objectOf(PropTypes.number),
419428
hpeNonstopBlogsCount: PropTypes.objectOf(PropTypes.number),
420429
othersBlogsCount: PropTypes.objectOf(PropTypes.number),
421430
}).isRequired,

src/components/Header/index.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ import { AppContext } from '../../providers/AppProvider';
1616
import { ButtonLink } from '..';
1717
import { UserMenu } from './UserMenu';
1818

19-
2019
const TextAlignLeft = styled(Box)`
2120
& > a {
2221
text-align: left;

0 commit comments

Comments
 (0)