티스토리 뷰

논문 요약

Lightweight Memory Tracing

덕쑤 2013. 12. 23. 17:21

Lightweight Memory Tracing


Mathias Payer, Enrico Kravina, Thomas R. Gross

ETH Zurich


Abstract

memory tracing은 많은 응용프로그램들과 같이 사용할수 있는 강력한 기술이다. debugging, taint checking, or tracking dataflow

현재 방법의 한계는 소프트웨어 방법 만으로 측정하는것은 높은 t실행 오버헤드를 가진다. 왜냐면 하나하나 모든 메모리 접근을 추가적인 코드로 확인해야 하기 때문이다. 즉 원래의 응용 프로그램의 일부가 아닌 코드 가 실행되어야 한다. 그리고 하드웨어로 감시 하는 부분은 작은 구역으로 한계가 있다.( 메모리 폴트가 일어나야 확인이 가능하다.)

이 논문은 memTrace를 소개한다. 32비트 바이너리를 64비트로 변환하면서 즉석으로 lightweight memory tracing technique이다 ?

이들의 소프트웨어는 수정없이 메모리를 추적한다. x86 프로그램의 바이너리를 x64로 확장하여 가능하게 한다 그래서 운영체제 확장이나 하드웨어 추가가 필요없다. The additional registers in x64 and the wider memory addressing enable a low-overhead tracing infrastructure that isprotected from the application code

무작정 추적과 할당 추적 두가 경우를 실험 하였고 SPPEC CPU2006 에서 1.97의 성능을 보였다 ? 


1 Introduction

큰 애플리케이션의 메모리 접근을 분석하는 일은 현 인터페이스와 하드웨어 특성때문에 매우 어려운 일이다. 소프트웨어 측정은 추가 코드로 인해 오버헤드가 크다 하드웨어로 확인 할 수 있는 지점은 오버헤드는 없지만 확인할 수 있는 구역이 제한이 되어 있다. 

memlets를 통하여 애플리케이션의 모든 메로리 접근을 추적 할 수 있다. Memlets are code sequences that are woven into the executed application code. memlets다음과 같은 상황에 따라 추가적인 코드를 실행하여 메모리 접근을 알아낸다. 

1) the data value that is read or written

2) the address that is read from or written to, or

3) the state associated with the address that is read or written

당연히 대상 애플리케이션에서 memlets 을 추가 코드가 적을수로 오버헤드는 줄어 든다.    


본 논문에서 설명하는 memTrace는 싱글 혹은 멀티 스레드 32비트 애플리케이션을 위한 lightweight memory tracing플랫폼이다.


동적 메모리 예측 방법은 임의의 동작을 하는 애플리케이션에서 큰힘을 발휘한다


2 Requirements for lightweight memory tracing

1 Unchanged application address space

Unmodified execution

3 Full isolation

Flexible memlets

Low overhead


3 Cross-ISA binary translation



공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함