http://chineseinput.net/에서 pinyin(병음)방식으로 중국어를 변환할 수 있습니다.
변환된 중국어를 복사하여 사용하시면 됩니다.
플래시 메모리 저장 장치를 사용하는 프로그램의 성능 향상을 위한 정적 분석 기법의 응용
백준영(Joon-Young Paik),조은선(Eun-Sun Cho) 한국정보과학회 2010 정보과학회 컴퓨팅의 실제 논문지 Vol.16 No.12
플래시 메모리는 휴대성, 저전력, 대용량의 특징을 갖고 있어 휴대용 기기에서의 사용이 증가하고 있다. 그러나 하드디스크와는 달리 플래시 메모리는 읽기 연산에 비해 쓰기 연산의 비용이 상대적으로 커서, 쓰기 연산 횟수 감소에 대한 연구가 요구된다. 본 논문에서는 데이터 쓰기 연산 횟수를 감소시키기 위해, 플래시 메모리에 저장된 데이터를 다루는 응용 프로그램을 재작성하여 저장될 데이터를 적절히 재배치하기 위한 정적 분석 기법을 제안하였다. 이 기법은 프로그램을 정적 분석해서 쓰기 연산 부분을 파악하고, 이들을 분리해내어 저장되도록 프로그램을 재작성 함으로써, 수행 시간에 전체 쓰기 영역이 줄어들도록 하는 것이다. 따라서 본 논문에서는 프로그램에서 다루어지는 데이터 중 쓰기 가능한 영역을 얻어내는 분석과 가능한 작은 개수의 페이지에 쓰기 대상 부분이 모여 있도록 재배치하기 위한 분석을 고안하였다. 정적 분석 결과는 자주 수행되는 프로그램 경로에 대한 프로파일링 결과와 조합되어 보다 실제적인 분석 결과를 얻고자 하였으며, 결과적으로, FAST 시뮬레이터 상에서 데이터 처리 성능을 향상시키는데에 기여함을 보였다. Flash memory becomes popular storage for small devices due to its efficiency, portability, low power consumption and large capacity. Unlike on hard disks, however, write operation on flash memory is much more expensive than read operation, so that it is critical for performance enhancement to reduce the number of executions of write operation. This paper proposes static analysis to rewrite a program to reduce the total number of write operations by merging writable data in a minimum number of pages. To achieve this, we collect information about writable areas by static analysis, and about frequently executed paths by profiling for practicality, and combine both to rewrite the application program to reallocate data. The performance enhancement gained from the proposed methods is shown using a FAST simulator.
백준영(Joon-Young Paik),윤태섭(Tae-Seob Yoon),최중현(Joong-Hyun Choi),조은선(Eun-Sun Cho) 한국정보과학회 2012 한국정보과학회 학술발표논문집 Vol.39 No.1A
본 논문에서는 상황인지 시스템에서 규칙들간에 발생하는 충돌을 실행 이전에 탐지하기 위한 기법을 소개한다. 사용자가 새로운 규칙을 입력하면, 이벤트, 조건, 액션 정보를 단계적으로 분석하여, 동일한 이 벤트가 상이한 서비스를 요구하는 규칙들을 탐지한다. 이는 실행 중에 발생되는 충돌을 감소시킴으로써, 동적 충돌 탐지 및 해결 대상을 감소시킨다. 제안된 기법은 규칙 기반 상황인지 미를웨어 상에 구현되었다.
플래시메모리 성능 향상을 위한 데이터 플로우 분석기반의 코드 재배치 기법
백준영(Joon-Young Paik),엄기진(Ki-Jin Eom),조은선(Eun-Sun Cho) 한국정보과학회 2014 정보과학회 컴퓨팅의 실제 논문지 Vol.20 No.2
본 논문에서는 플래시메모리 성능 개선을 위해서, 응용 프로그램 단계에서의 쓰기 연산 최적화 기법을 제안하였다. 일반적인 랜덤쓰기 연산에 비해서 상대적으로 성능이 우수한 집중 쓰기 연산(focused write) 패턴이 발생되도록 쓰기 연산 코드를 재배치시킨다. 제안 기법은 프로그램 분석 과정과 쓰기 연산 코드 재배치 과정으로 구성된다. 프로그램 분석 과정에서는 프로그램 분석 기법을 이용하여, 응용 프로그램의 쓰기 패턴과 각 쓰기 연산 코드가 재배치 가능한 위치들을 탐지한다. 그리고, 프로그램 분석 정보와 선형 프로그래밍 기법을 이용하여, 집중 쓰기 연산 패턴이 발생하도록, 쓰기 연산 코드를 재배치한다. In this paper we optimize write operations in an application level for performance improvement in flash memory. We propose a code relocation scheme to transform an application to show focused write patterns rather than general random write patterns. The focused write pattern is much faster than the general random write pattern in spite of its random write property. Our proposal consists of Program-analysis-step and Coderelocation-step. Program-analysis-step finds the write patterns of an application and the target placements where a write code can move with our proposed analysis designs. Then, we determine optimal placements for relocation of write codes with Integer Linear Programming.
플래시메모리 성능향상을 위한 쓰기 연산 요청 감소 기법
백준영(Joon-Young Paik),정태선(Tae-Sun Chung),조은선(Eun-Sun Cho) 한국정보과학회 2013 정보과학회 컴퓨팅의 실제 논문지 Vol.19 No.1
플래시메모리 성능 향상을 위한 다양한 연구들은 플래시메모리의 사용을 증가시켜 왔다. 그러나 쓰기 연산이 플래시메모리 성능 저하의 주요 원인으로 알려졌음에도 불구하고, 응용 프로그램 단계에서의 쓰기 연산 최적화 연구는 거의 없었다. 본 논문에서는 응용 프로그램의 반복문 재구성을 통한, 페이지 단위의 선택 쓰기 연산을 제안한다. 페이지 단위의 접근이 가능하도록 하기 위해서, 기존 반복문을 타일링(tiling)하거나, 새로운 반복문을 추가하여 반복문의 중첩도를 변경한다. 제안된 기법은 동적으로 데이터의 변경 여부를 판단하여, 오직 변경된 데이터를 쓰기 연산한다. 제안된 선택 쓰기 연산은 불필요한 쓰기 데이터를 제거함으로써, 쓰기 요청 데이터의 양을 감소시킨다. Researches on performance improvements have enabled to increase the use of flash memory. However there are little works of performance enhancements based on write operations in application level although the operations are known as performance bottleneck in flash memory. We propose selective writing method on only modified data by restructuring a loop. We tile an original loop or insert a new loop to the original loop so that the transformed loop is executed in a page unit. The proposed method eliminates unnecessary data by dynamically checking whether the page is modified or not, and reduces an amount of data requested for write operations.
엄기진(Ki-Jin Eom),백준영(Joon-Young Paik),조은선(Eun-Sun Cho) 한국정보과학회 2014 정보과학회논문지 : 소프트웨어 및 응용 Vol.41 No.5
데이터흐름분석(Data-flow analysis)은 주로 컴파일러가 프로그램 수행속도와 코드 크기의 최적화를 위해 사용해 왔으며 계속해서 다양한 분석기법이 연구되었다. 그러나 바이너리 코드에 대하여서 디스어셈블(disassembly)부터 데이터흐름분석까지 수행하는 도구가 아직 많지 않고, 특히 ARM CPU 명령어를 대상으로 하는 도구는 아직까지 거의 없다. 본 논문에서는 ARM CPU 명령어를 대상으로 하는 데이터흐름분석 도구를 개발하였다. 두 가지의 방법으로 데이터흐름분석 도구를 개발하였는데, 두 방법 모두 대표적인 상용 리버스 엔지니어링 도구인 IDA Pro를 기반으로 하였다. Data-flow analyses have been playing a major role in compiler optimization to reduce code sizes and to enhance program performance, and there have been a variety of data-flow analysis techniques researched for these purposes. However, there are too few tools which disassemble binary codes as well as perform data-flow analyses on those codes, especially in ARM CPU instructions. In this paper, we introduce a new data-flow analysis tool for ARM binary codes. It is developed in two ways, and both are based on the disassembling facility of IDA Pro, which is one of the most widely used commercial reverse engineering tools.