목성 JVM

Jupiter JVM
목성 JVM
최종 발매
1.0.0 베타 / 2002년 7월 15일(2002-07-15)
유형Java 가상 시스템
면허증GPL
웹사이트www.eecg.toronto.edu/jupiter

목성 JVM오픈소스 자바 가상 머신으로 모듈성과 확장성을 염두에 두고 마스터 논문으로 개발됐다.그것은 Boemm 가비지 수집기와 GNU Classpath를 사용한다.목성 가상 머신의 설계 주요 측면은 다음과 같이 단순화할 수 있다.

  • 메모리 인접성 - 개체는 인접성을 거의 고려하지 않고 힙에 할당된다.이 접근방식은 유니프로세서나 소규모 SMP에 적합할 수 있지만, 원격 메모리 액세스가 로컬 메모리 액세스보다 한 두 배 정도 느린 워크스테이션 클러스터에서 잘 작동하지 않을 것 같다.
  • 병렬 가비지 수집 - 가비지 수집은 상당한 양의 적용 시간을 소비할 수 있다.일반적으로 JVM은 "세상 중지" 가비지 수집기를 사용하며, 여기서 가비지 수집 중에는 프로그램 스레드가 중단된다.이 접근방식은 두 가지 이유로 많은 수의 프로세서에서는 작동하지 않을 것이다.첫째, 프로세서의 수가 많을 때 「세계를 멈추는 것」의 비용이 상당히 높다.둘째, 쓰레드를 수집하기 위해 단일 스레드를 사용하면 모든 응용 프로그램에 대해 허용할 수 없을 정도로 큰 순차 분율이 발생한다.
  • 메모리 일관성 모델 - 많은 프로세서에서 확장 성능을 달성하려면 "완화" Java 메모리 모델을 활용하는 것이 중요하다.현재 JVM은 JMM을 충실하게 구현하지 않으며, 실제로 많은 JMM이 잘못 구현하여 일관성이 부족하고 최적화 기회를 상실한다.JMM의 사양도 2007년에 개정되었다.
  • 효율적인 스레드동기화 - 많은 프로세서에서, 잘 확장되는 효율적인 스레드 지원 및 동기화 메커니즘을 제공하는 것이 중요하다.

참고 항목

외부 링크