그들은 Linux 커널에서 팝콘 개발을 제안합니다.

가장 먼저 떠오른 것이 토렌트 프로토콜을 통해 콘텐츠를 볼 수있는 인기있는 응용 프로그램 이었다면, 아니요, 그렇지 않습니다. Virginia Polytechnic University의 개발자 최근에 만든 Linux 커널 개발자와의 토론을위한 제안 패치 세트에 팝콘 시스템의 구현 (분산 스레드 실행) 스레드를 배포합니다.

이 시스템 배포 및 마이그레이션을 통해 여러 컴퓨터에서 응용 프로그램 실행을 구성 할 수 있습니다. 호스트 간의 투명한 흐름. Popcorn을 사용하면 한 호스트에서 애플리케이션을 시작한 후 중단없이 다른 호스트로 전송할 수 있습니다. 다중 스레드 프로그램에서는 다른 단일 스레드 호스트로의 마이그레이션이 허용됩니다.

팝콘 정보

프로세스 상태를 저장하고 다른 시스템에서 실행을 재개 할 수있는 CRIU 프로젝트와 달리 Popcorn은 투명하고 역동적 인 마이그레이션을 제공합니다 애플리케이션 실행 중 호스트 간 사용자 조치없이 가상 메모리 일관성 보장 스레드가 동시에 실행되는 모든 호스트에서.

팝콘 Linux 커널에 패치 스택을 제공합니다. 그리고 마이그레이션 흐름에서 Popcorn의 시스템 호출이 분산 실행 응용 프로그램에서 어떻게 사용될 수 있는지를 보여주는 테스트가있는 라이브러리.

커널 수준에서 가상 메모리 하위 시스템에 대한 확장이 제안됩니다. 분산 공유 메모리 구현으로 서로 다른 호스트의 프로세스가 공통되고 일관된 가상 주소 공간에 액세스 할 수 있습니다. 가상 메모리 페이지의 일관성은 메모리 페이지를 읽기 위해 액세스 할 때 호스트에 복제하고 기록 할 때 메모리 페이지를 무효화하는 프로토콜에 의해 보장됩니다.

호스트 간의 상호 작용은 TCP 소켓을 통해 전송되는 커널 수준 메시지 처리기를 사용하여 수행됩니다. 개발 중에 디버깅 및 테스트를 단순화하기 위해 TCP / IP가 사용되는 것으로 관찰됩니다. 개발자는 보안 및 성능 측면에서 TCP / IP가 커널 구조 및 메모리 페이지의 내용을 호스트간에 전송하는 가장 좋은 방법이 아니라는 것을 알고 있습니다. 분산 응용 프로그램을 실행하는 모든 호스트는 동일한 수준의 신뢰를 가져야합니다. 기본 알고리즘이 안정화되면보다 효율적인 전송 모드가 적용됩니다.

2014 년부터 팝콘은 연구 프로젝트로 개발되었습니다. 다양한 명령 집합 아키텍처 (Xeon / Xeon-Phi, ARM / x86, CPU / GPU / FPGA ).

Linux 커널 개발자에게 제안 된 패치 세트는 x86 CPU가있는 호스트에서만 실행을 지원합니다.뿐만 아니라 더 기능적인 버전의 Popcorn Linux가 있습니다. 애플리케이션이 호스트에서 실행될 수 있도록합니다. 다른 CPU 아키텍처 (x86 및 ARM).

이기종 환경에서 Popcorn을 사용하려면 특수 LLVM 기반 컴파일러를 사용해야합니다. 아키텍처가 동일한 호스트에서 분산 실행을 사용하면 별도의 컴파일러로 다시 빌드 할 필요가 없습니다.

또한, 우리는 Telefork 프로젝트와 비슷한 발표를 볼 수 있습니다. 초기 프로토 타입 API 구현 클러스터의 다른 컴퓨터에서 자식 프로세스를 시작하려면 (fork ()와 같지만 분기 프로세스를 다른 컴퓨터로 전송).

코드는 Rust로 작성되었으며 지금까지 파일과 같은 시스템 리소스를 사용하지 않는 가장 단순한 프로세스 만 복제 할 수 있습니다. 텔레 포크 호출을 할 때 프로세스와 관련된 메모리 및 구조가 서버 컨트롤러 (텔레 패드)를 실행하는 다른 호스트에 복제됩니다.

ptrace를 사용하면 프로세스의 메모리 미러가 직렬화되고 프로세스 상태 및 로그와 함께 다른 호스트로 전송됩니다. API를 사용하면 프로세스 상태를 파일에 저장하고이를 통해 복원 할 수도 있습니다.

출처 : https://lkml.org/


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.