argo
ohpc
argo | ohpc | |
---|---|---|
43 | 28 | |
14,314 | 822 | |
0.9% | 1.0% | |
9.8 | 9.5 | |
2 days ago | 4 days ago | |
Go | C | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
argo
-
StackStorm – IFTTT for Ops
Like Argo Workflows?
https://github.com/argoproj/argo-workflows
-
Creators of Argo CD Release New OSS Project Kargo for Next Gen Gitops
Dagger looks more comparable to Argo Workflows: https://argoproj.github.io/argo-workflows/ That's the first of the Argo projects, which can run multi-step workflows within containers on Kubernetes.
For what it's worth, my colleagues and I have had great luck with Argo Workflows and wrote up a blog post about some of its advantages a few years ago: https://www.interline.io/blog/scaling-openstreetmap-data-wor...
-
Practical Tips for Refactoring Release CI using GitHub Actions
Despite other alternatives like Circle CI, Travis CI, GitLab CI or even self-hosted options using open-source projects like Tekton or Argo Workflow, the reason for choosing GitHub Actions was straightforward: GitHub Actions, in conjunction with the GitHub ecosystem, offers a user-friendly experience and access to a rich software marketplace.
-
(Not) to Write a Pipeline
author seems to be describing the kind of patterns you might make with https://argoproj.github.io/argo-workflows/ . or see for example https://github.com/couler-proj/couler , which is an sdk for describing tasks that may be submitted to different workflow engines on the backend.
it's a little confusing to me that the author seems to object to "pipelines" and then equate them with messaging-queues. for me at least, "pipeline" vs "workflow-engine" vs "scheduler" are all basically synonyms in this context. those things may or may not be implemented with a message-queue for persistence, but the persistence layer itself is usually below the level of abstraction that $current_problem is really concerned with. like the author says, eventually you have to track state/timestamps/logs, but you get that from the beginning if you start with a workflow engine.
i agree with author that message-queues should not be a knee-jerk response to most problems because the LoE for edge-cases/observability/monitoring is huge. (maybe reach for a queue only if you may actually overwhelm whatever the "scheduler" can handle.) but don't build the scheduler from scratch either.. use argowf, kubeflow, or a more opinionated framework like airflow, mlflow, databricks, aws lamda or step-functions. all/any of these should have config or api that's robust enough to express rate-limit/retry stuff. almost any of these choices has better observability out-of-the-box than you can easily get from a queue. but most importantly.. they provide idioms for handling failure that data-science folks and junior devs can work with. the right way to structure code is just much more clear and things like structuring messages/events, subclassing workers, repeating/retrying tasks, is just harder to mess up.
-
what technologies are people using for job scheduling in/with k8s?
Argo Workflows + Argo Events
-
What are some good self-hosted CI/CD tools where pipeline steps run in docker containers?
Drone, or Tekton, Argo Workflows if you’re on k8s
-
job scheduling for scientific computing on k8s?
Check out Argo Workflows.
- Orchestration poll
- What's the best way to inject a yaml file into an Argo workflow step?
-
Which build system do you use?
go-git has a lot of bugs and is not actively maintained. The bug even affects Argo Workflow, which caused our data pipeline to fail unexpectedly (reference: https://github.com/argoproj/argo-workflows/issues/10091)
ohpc
- interesting read
-
Rocky strikes back at Red Hat
We have plenty of licensed RHEL, but in isolated environments the hurdle of connecting to a Satellite server or their subscription hub on the internet is too high -- at least with Rocky and the ilk available. For this set up, the licensing model doesn't match reality, at least not easily.
Are we really going to build out compatible configuration management, monitoring, logging, etc? -- it's not a seamless transition. How much time do we have to put towards this?
And yes -- there is software compatibility issues. Look at the OpenHPC software distribution, it's designed for SUSE or Enterprise Linux: https://github.com/openhpc/ohpc/wiki/2.X
-
job scheduling for scientific computing on k8s?
I recommend you just stick with HPC centric tools are workflows. Your scientists aren’t going to learn k8s as you said. SLURM is the scheduler you want and if you’re new to HPC, I recommend taking a look at https://openhpc.community
-
HPC usage etiquette.
the general consensus is that pam_slurm_adopt is the better module (that's just one dude's opinion but his citations are good) - the advantage is that not only will it gatekeep SSH access, it'll also drop their SSH session into the cgroups that are constraining the user's resource limits, which also means their CPU usage will show up in sacct for the job (if the user has multiple jobs running on a node their ssh session may get dropped into the wrong one, no help for that)
- HPC OS for Non-expert
- How useful/important is OpenStack for HPC?
- Wanting to setup a cluster
-
Essential skills for new HPC Admin?
Check this: https://openhpc.community/ (this helped me a lot when I started. I'm no longer the admin of such systems)
-
Looking to optimize research lab resources...
Overall, if you're already in a RedHat-based environment, an installation of OpenHPC is pretty straightforward. Their reference implementation assumes you have a head node for the scheduler that all other nodes NAT through, but that's not a 100% requirement as much as a common setup. It also assumes you can reformat the compute nodes and dedicate them to HPC work, so if you need to keep the systems available as normal workstations, you'll need to deviate a bit. You could also use the OpenHPC instructions as a guide for what packages to install, but it may take longer to get everything right.
-
xcat education ?
https://github.com/openhpc/ohpc/wiki/1.3.X Newer versions of OpenHPC don't seem to releasing XCat guides anymore unfortunately.
What are some alternatives?
temporal - Temporal service
spack - A flexible package manager that supports multiple versions, configurations, platforms, and compilers.
keda - KEDA is a Kubernetes-based Event Driven Autoscaling component. It provides event driven scale for any container running in Kubernetes
slurm - Slurm: A Highly Scalable Workload Manager
Airflow - Apache Airflow - A platform to programmatically author, schedule, and monitor workflows
EasyBuild - EasyBuild - building software with ease
flyte - Scalable and flexible workflow orchestration platform that seamlessly unifies data, ML and analytics stacks.
openpbs - An HPC workload manager and job scheduler for desktops, clusters, and clouds.
StackStorm - StackStorm (aka "IFTTT for Ops") is event-driven automation for auto-remediation, incident responses, troubleshooting, deployments, and more for DevOps and SREs. Includes rules engine, workflow, 160 integration packs with 6000+ actions (see https://exchange.stackstorm.org) and ChatOps. Installer at https://docs.stackstorm.com/install/index.html
deepops - Tools for building GPU clusters
n8n - Free and source-available fair-code licensed workflow automation tool. Easily automate tasks across different services.
infrastructure - The infrastructure monorepo for the Rocky Linux project. This project will be archived/deprecated in the future.