Osobliwość (oprogramowanie)
Oryginalni autorzy | Gregory Kurtzer (gmk) i in. |
---|---|
Deweloperzy |
Społeczność Grzegorza Kurtzera |
Wersja stabilna | 3.8.7 / 17 marca 2022
|
Magazyn | |
Napisane w | Iść |
System operacyjny | Linuks |
Typ | Wirtualizacja na poziomie systemu operacyjnego |
Licencja | 3-klauzulowa licencja BSD |
Strona internetowa |
|
Singularity to darmowy program komputerowy typu open source , który wykonuje wirtualizację na poziomie systemu operacyjnego, znaną również jako konteneryzacja.
Jednym z głównych zastosowań Singularity jest wprowadzenie pojemników i odtwarzalności do obliczeń naukowych i świata obliczeń o wysokiej wydajności (HPC).
Potrzeba odtwarzalności wymaga możliwości używania kontenerów do przenoszenia aplikacji z systemu do systemu.
Korzystając z kontenerów Singularity, programiści mogą pracować w powtarzalnych środowiskach według własnego wyboru i projektu, a te kompletne środowiska można łatwo kopiować i uruchamiać na innych platformach.
W 2021 roku projekt open source Singularity podzielił się na dwa projekty o nazwie Apptainer i SingularityCE .
Historia
Singularity zaczęło się jako projekt open-source w 2015 roku, kiedy zespół naukowców z Lawrence Berkeley National Laboratory , kierowany przez Gregory'ego Kurtzera, opracował wstępną wersję napisaną w języku programowania C i udostępnił ją na licencji BSD .
Do końca 2016 roku wielu programistów z różnych ośrodków badawczych połączyło siły z zespołem Lawrence Berkeley National Laboratory, aby dalej rozwijać Singularity.
Osobliwość szybko przyciągnęła uwagę instytucji naukowych zajmujących się komputerami na całym świecie:
- Stanford University Research Computing Center wdrożyło Singularity w swoich klastrach XStream i Sherlock
- National Institutes of Health zainstalowało Singularity na Biowulf, swoim klastrze Linux z ponad 95 000 rdzeń/30 PB
- Różne strony konsorcjum Open Science Grid Consortium, w tym Fermilab , zaczęły przyjmować Osobliwość; do kwietnia 2017 r. Singularity zostało wdrożone w 60% sieci Open Science Grid.
Przez dwa lata z rzędu, w 2016 i 2017 roku, Singularity zostało uznane przez redakcję HPCwire za „Jedną z pięciu nowych technologii do obejrzenia”. W 2017 roku Singularity zdobyło również pierwsze miejsce w kategorii „Najlepsze narzędzie lub technologia do programowania HPC”.
Od 2018 r., na podstawie danych wprowadzonych dobrowolnie do publicznego rejestru, oszacowano, że baza użytkowników Singularity liczyła ponad 25 000 instalacji i obejmowała użytkowników z instytucji akademickich, takich jak Ohio State University i Michigan State University , a także czołowych HPC ośrodków, takich jak Texas Advanced Computing Center , San Diego Supercomputer Center i Oak Ridge National Laboratory .
W lutym 2018 roku ogłoszono, że firma Sylabs, założona przez autora Singularity, zapewni komercyjne wsparcie dla Singularity. W październiku tego roku Sylabs wydał wersję 3.0.0, która była przepisaniem w języku programowania Go .
W maju 2020 roku Gregory Kurtzer opuścił Sylabs, ale zachował przywództwo w projekcie open source Singularity. W maju 2021 Sylabs stworzył rozwidlenie projektu i nazwał go SingularityCE. W listopadzie 2021 roku projekt open source Singularity dołączył do Linux Foundation i został przemianowany na Apptainer .
Cechy
Singularity jest w stanie obsługiwać natywnie wysokowydajne połączenia międzysieciowe, takie jak InfiniBand i Intel Omni-Path Architecture (OPA).
Podobnie jak obsługa urządzeń InfiniBand i Intel OPA, Singularity może obsługiwać dowolne urządzenie podłączone do PCIe w węźle obliczeniowym, takie jak akceleratory graficzne .
Singularity ma również natywną obsługę biblioteki Open MPI , wykorzystując hybrydowe podejście do kontenera MPI, w którym OpenMPI istnieje zarówno wewnątrz, jak i na zewnątrz kontenera.
Te cechy sprawiają, że Singularity jest coraz bardziej przydatne w obszarach takich jak uczenie maszynowe , uczenie głębokie i większość obciążeń intensywnie korzystających z danych, w których aplikacje korzystają z wysokiej przepustowości i niskich opóźnień tych technologii.
Integracja
Systemy HPC tradycyjnie mają już systemy zarządzania zasobami i planowania zadań , więc środowiska wykonawcze kontenerów muszą być zintegrowane z istniejącym menedżerem zasobów systemowych.
Korzystanie z innych korporacyjnych rozwiązań kontenerowych, takich jak Docker , w systemach HPC wymagałoby modyfikacji oprogramowania. Kontenery Dockera mogą być automatycznie konwertowane na samodzielne pliki osobliwości, które następnie można przesyłać do menedżerów zasobów HPC.
Singularity bezproblemowo integruje się z wieloma menedżerami zasobów, w tym:
- HTCondor
- Oracle Grid Engine (SGE)
- SLURM (Proste narzędzie Linux do zarządzania zasobami)
- TORQUE (Terascale Open Source Resource and QUEue Manager)
- PBS Pro (PBS Professional)
- HashiCorp Nomad (prosty i elastyczny koordynator obciążenia)
Zobacz też
Dalsza lektura
- Materiały z 10. Międzynarodowej Konferencji na temat Utility and Cloud Computing: Czy technologia kontenerów oparta na osobliwości jest gotowa do uruchamiania aplikacji MPI w chmurach HPC?
- Singularity przygotowuje wersję 3.0, zbliża się do 1 miliona kontenerów obsługiwanych dziennie
- Dell HPC: konteneryzacja aplikacji HPC z osobliwością
- Konferencja Intel HPC Developer Conference 2017: Wprowadzenie do wysokowydajnych systemów obliczeniowych HPC Containers i Singularity
- HPCwire ujawnia zwycięzców nagród Readers' i Editors' Choice Awards 2017 na konferencji SC17 w Denver: Singularity przyznano w kategorii Najlepsze narzędzie do programowania HPC lub technologia
Linki zewnętrzne
- Wolne oprogramowanie zaprogramowane w Go
- Konteneryzacja Linuksa
- Bezpieczeństwo systemu operacyjnego
- Technologia systemu operacyjnego
- Oprogramowanie korzystające z licencji Apache
- Oprogramowanie korzystające z licencji BSD
- Oprogramowanie do wirtualizacji
- Oprogramowanie do wirtualizacji dla systemu Linux