The people who use commodity computer system worry about the security of their data. Architecture support for security can protect against software attacks, but we should protect against hardware attacks also. To protect against hardware attacks, the secure processors architecture which uses encryption and authentication can be employed. However, secure processors require some components such as counter, hash tree node, and MAC to guarantee the integrity of data and hide data against malicious users. These components make memory bandwidth congested. Prior secure processors schemes were proposed in single-core processors environment. In the single-core secure processors, the effect of these components on memory bandwidth is not noticeable. However, the impact of the overhead of memory bandwidth causes significant performance degradation in multi-core secure processors. In this study, we propose two simple memory scheduling algorithms and reduce the performance degradation of secure processors architecture in multi-core processors using the modified memory scheduling algorithms.
We propose and evaluate two simple memory scheduling algorithms. First, we assign priority to the components in critical path. Second, we try to exploit Bank Level Parallelism(BLP). Our simulation result is on McSimA+ with Gems ruby memory modules using SPEC CPU 2006 benchmarks. Our memory scheduling algorithms improve the performance of multi-core secure processors to average 8% in relaxed mode and average 3% in strict mode.
직접 머신에 접근하여서 데이터를 침해하는 하드웨어 공격을 막기 위해서 보안 프로세서라는 기법이 나오게 되었다. 이전의 연구에서는 이러한 보안 프로세서에 대한 연구가 싱글코어 환경에서 이루어 졌다면, 본 연구에서는 이를 멀티코어 환경에서 보안 프로세서를 적용하여 보았다. 이때 성능의 하락이 많이 발생하게 되는데, 본 연구에서는 이를 메모리 대역폭을 효율적으로 사용하지 못하여 생겨난 문제라고 보고, 이를 두 가지 메모리 스케줄링 기법을 통해서 성능의 하락을 줄이는 것이 목적이다.
보안 프로세서는 데이터의 기밀성을 보장하기 위해서 암호화를 하고, 온전성을 보장하기 위해서 해쉬 값들을 트리 형태로 만들어서 사용하게 된다. 그리고 이 보안 프로세서는 두 가지 모드로 사용될 수 있는데, 첫 번째는 데이터의 온전성 확인이 뒤로 미뤄질 수 있는 relaxed mode이고, 두 번째는 데이터의 온전성 확인과 복호화가 이루어져야 프로세서에서 이 데이터를 사용할 수 있는 strict mode이다. 이러한 두 가지 모드에 최적화된 메모리 스케줄링 기법을 제안한다. 우선, 우선순위 메모리 스케줄링 알고리즘을 제안한다. Relaxed mode에서는 데이터의 복호화가 빠르게 이루어지면 좋고, 온전성 확인은 뒤로 미뤄질 수 있기 때문에 복호화에 필요한 데이터와 카운터에 우선순위를 주는 스케줄링 기법을 사용한다. Strict mode에서는 데이터의 복호화와 온전성 확인이 모두 이루어 져야 하고, 온전성 확인에 가장 많은 시간이 걸리기 때문에 이를 효율적으로 하기 위해>서 온전성 확인을 빠르게 하는 방법을 사용한다. 그렇게 하기 위해서 온전성 확인에 필요한 카운터, 해쉬 트리 노드에 우선순위를 주는 스케줄링 알고리즘을 사용한다. 또한 relaxed mode에서는 크리티컬 패스에 있지 않은 해쉬 트리 노드와 MAC의 경우에 BLP(Bank Level Parallelism)을 최대화 시켜주는 알고리즘을 통해서 성능을 더 향상 시켜주도록 하였다.
이러한 간단한 메모리 스케줄링 알고리즘을 통해서 relaxed mode에서는 평균 8%정도의 성능 향상을 이루었고, strict mode에서는 평균 3%정도의 성능 향상을 이루었다.