http://chineseinput.net/에서 pinyin(병음)방식으로 중국어를 변환할 수 있습니다.
변환된 중국어를 복사하여 사용하시면 됩니다.
SimpleRTJ 자바가상기계에서 클래스 파일의 메모리 상 배치
양희재(Heejae Yang) 한국정보과학회 2002 한국정보과학회 학술발표논문집 Vol.29 No.2Ⅱ
자바가상기계는 클래스 파일에 있는 클래스, 상수, 필드, 메소드 등의 내부 정보를 읽고 자바 응용 프로그램을 실행한다. 보조기억장치가 없는 내장형 시스템의 경우 클래스 파일은 주기억장치, 즉 메모리에 두어야 하지만 클래스 파일 자체는 크기도 클 뿐 아니라 내부 정보에 접근하는 것도 효율적이지 못하다. 따라서 대개의 경우 클래스 파일을 변형한 형태로 메모리에 배치하는데, 본 논문에서는 특히 simpleRTJ 라고 하는 상용 내장형 자바가상기계에서 적용된 방식에 대해 조사해보았다. 이 플렛폼에서의 분석을 통해 클래스 파일의 크기가 얼마까지 줄어들 수 있고, 내부 정보에 대해서는 얼마나 효율적으로 접근할 수 있는지에 대해 고찰하였으며, 그 결과를 바탕으로 향후 더 개선된 형태로 클래스 파일을 메모리에 배치할 수 있는 방안에 대해 연구하고자 한다.
양희재 ( Heejae Yang ) 한국정보처리학회 2005 한국정보처리학회 학술대회논문집 Vol.12 No.2
다른 고수준 언어와 마찬가지로 자바도 할당문, 연산문, 조건문, 반복문, 호출문 등의 문장 형식을 갖는다. 자바의 모든 문장 형식은 바이트코드로 변환되어 자바가상기계 상에서 실행된다. 스택 기반구조를 갖는 자바가상기계에서 각 문장의 실행은 필연적으로 자료 이동을 요구하며, 자료 이동은 메모리 접근을 필요로 하므로 프로그램 실행 시간에 직접적 영향을 미친다. 본 논문에서는 각각의 자바 문장 형식이 어느 정도의 메모리 접근을 요구하며, 프로그램 실행 시간에는 어떤 영향을 미치는지를 분석하였다. 이 연구의 결과는 자바 프로그래머에게 프로그램 실행 시간면에서 보다 효율적인 프로그램 작성을 할 수 있도록 도와 줄 것이다.
양희재 ( Heejae Yang ) 한국정보처리학회 2006 한국정보처리학회 학술대회논문집 Vol.13 No.1
하나의 자바 프로그램은 수많은 클래스들로 이루어져있고, 각 클래스들은 다수의 메소드들을 포함하고 있다. 즉 자바 프로그램은 수많은 메소드들을 사용하고 있는데, 본 연구에서는 프로그램 실행 시 이들 메소드들이 균등하게 호출되는 것이 아니라 특정 메소드들이 집중적으로 호출되는 경향이 있음을 밝혔다. 또한 절반 내외의 메소드들은 전혀 호출되지 않는 것도 발견하였다. 몇 가지 벤치마크 프로그램에 대해 위와 같은 특징들을 실제 실험을 통해 조사하였다.
자바 프로그램에서 메모리 영역 간 자료 이동에 따른 부담 분석
양희재(Heejae Yang) 한국정보과학회 2008 정보과학회논문지 : 소프트웨어 및 응용 Vol.35 No.5
자바 프로그램이 실행되면서 자료들은 상수에서 변수로, 변수에서 변수로 등 다양한 경로로 이동한다. 자료들은 메모리에 위치하며 자료의 이동은 메모리에 대한 접근을 필요로 한다. 메모리 접근은 시간지연과 에너지 소비를 야기하므로 여러 경로의 자료 이동이 어떤 부담을 갖는지를 아는 것은 효율적 프로그램 작성은 물론 고성능 자바가상기계의 구현에도 필수적이라 할 수 있다. 본 논문에서는 자바 메모리를 상수, 지역변수, 필드 등 세 가지 영역으로 나누고 각 영역 간의 자료 이동에 대한 부담을 조사하였다. 분석 결과 지역변수에서 지역변수로의 자료 이동이 가장 부담이 작고 필드에서 필드로의 이동이 가장 부담이 큰 것으로 조사 되었으며 부담 차이는 최대 2배에 이르는 것을 발견하였다. JIT 등 최적화 기술은 자료 이동 부담을 현저히 감소시켰으며 HotSpot JVM의 경우 최소 14배에서 최대 27배까지 부담 저하효과를 나타내었다. Data transfers occur during the execution time of a Java program, from constant to variable, from variable to other variable and so on. Data are located in memory and hence data transfer requires access to memory. As memory access generates both time delay and energy consumption it is absolutely necessary to know the data transfer overheads incurred among different paths not only to write an efficient program but also to build a high-performance Java virtual machine. In this paper we classify Java memory into three different regions, constant, local variable, and field, and then investigate data transfer overheads among these regions. The result says that the transfer between local variables incur the least overhead usually, while the transfer between fields incur the most. The difference of overheads reaches up to a double. Optimization techniques like JIT reduces the data transfer overhead dramatically. It is observed that the overhead is reduced from 14 to 27 times for the case of HotSpot JVM.
다중컴퓨터 상호연결망의 구조가 일의 할당에 미치는 영향
양희재(Heejae Yang) 한국정보과학회 1992 한국정보과학회 학술발표논문집 Vol.19 No.2
다중컴퓨터에 사용되어지는 상호연결망을 성능평가하는 한 방법으로 본 논문에서는 이들 망이 일의 할당에 미치는 영향에 대해 알아본다. 일의 할당이 잘 되어지기 위해서는, 즉 최적할당을 쉽게 찾아내기 위해서는 할당이 이루어지는 배치공간의 크기가 가능한 한 작아야 한다. 이 논문에서는 등가할당이라는 새로운 개념을 도입하여 배치공간을 해석하였다. 동일한 프로세서 갯수를 가지더라도 사용되어지는 상호연결망에 따라 등가할당의수가 달라지며, 전체배치공간의 크기는 이 등가할당의 수로 나누어질 수 있음을 보였다. 즉 등가할당의 수가 큰 상호연결망일수록 실제 배치공간의 크기는 작아지고 따라서 쉽게 일의 할당을 할 수 있다. 몇가지 전형적인 상호연결망에 대해 배치공간을 해석해 본 결과 하이퍼규브 구조가 가장 큰 등가할당의 수를 가졌고, 따라서 이 구조가 일의 할당 측면에서 가장 우월함을 보였다.