어떻게 해야 여러대의 컴퓨터를 조율할 수 있을까?
HPC에 쓰이는 슈퍼 컴퓨터(클러스터) 는 각 노드들을 어떻게 관리할까?
또 그 노드들을 관리하는 시스템은 누가 어떻게 돌리는걸까?
클러스터의 구조가 너무 궁금해.
1. 단일 노드 위에서 돌아가는 프로그램은, 해당 노드가 아닌, 클러스터의 다른 노드의 자원을 끌어와서 연산 할 수 있는가?
2. 클러스터 위의 파일시스템은 분명 파편화되어있지 않고 하나로 통일되어있다. 이 파일시스템의 원리는 무엇이지??
3. 클러스터의 쉘에 접근을 한다. 쉘 위에서 프로그램을 여러개 돌린다. => 프로그램들은 각기 다른 노드로 분배되어서 실행되는가?? (노드의 명시 없이)
이 모든 시스템이 어떻게 이루어지고 어떻게 작동하는거지??
너무 궁금해...
클러스터를 만들고싶어
아니, 만약 클러스터가 구현하기 복잡한 물건이라면, 남의 구현을 쓰되 원리를 좀 배우고 쓰고 싶어
각자 다른 컴퓨터에 있든, 다른 프로세스든 통신할 방법이 한가지 이상 있다면, 어떻게든 통신할 방법을 마련하고 그것들 간의 작업과 데이터를 공유받을 수 있지않을까요? 다른 컴퓨터라면 랜선을 통해서, 같은 컴퓨터 내라면 더 방법이 많아질것같긴한데.. 구현하기 나름이겠죠? 속도와 범용성, 자원 절약 등의 고려요소 사이에서 저울질해서 적절한 연결 수와 연결 방식을 쓰면 되지않을까요?
아니면 랜선 말고 독자적인 하드웨어 규격을 만들어서 랜선만큼 범용적이고 랜선보다 최종 명령 처리속도가 빠른 무언가를 만들어낸다던가, 혹은 폰노이만 컴퓨터 구조를 벗어나는 무언가를 만든다던가... 킁? 잘모르겠어요 응애
구현할때 데이터의 순서나 노드간의 동기화가 매우 중요한 작업이라면 그것도 고려해야할것같은데... 아무튼! 화이팅이에요! 기존에 만들어진 클러스터를 지원하는 프로그램들을 뜯어보는것도 방법이라면 방법일것같아요!
딱
딱국추