Paper Reading: [Managing Deadline Miss Ratio and Sensor Data Freshness in Real-Time databases]

올해 5월 자율차 대회를 끝내고 아쉬운 점 중에서 ‘데이터를 실시간으로 더 잘 다룰 수 있게 프로그램 구조를 짰으면’하는 생각이 있었다(관련 글). 최근에 나는 이런 고민에 대한 해결의 한 방법으로 관련 분야가 Real-Time Database라는 이름으로 연구되어왔다는 조언을 들었고, 다음 논문을 훑어보았다. Kang, K-D., Sang Hyuk Son, and John A. Stankovic. “Managing deadline miss ratio and sensor data freshness in real-time databases.”

이 페이퍼는 real-time database의 모델을 소개하며 이 모델의 서비스 퀄리티를 보장하는 데에 사용할 수 있는 측정법을 소개하고 있다. 또한 이 측정법을 이용한 실시간 데이터베이스를 관리하는 방법을 제안해 시뮬레이션을 돌려 보았다고 한다. 페이퍼의 내용이 길기에 일단 문제 상황을 정의하는 부분을 아래에 정리해 보았다.

Real-Time Databases

요구 사항

어려움

QMF

  • a QoS management architecture for deadline Miss ratio and data Frechness
  • Flexible Freshness Management

QMF는 데이터베이스 관리자에게 miss ratio와 data freshness를 적절히 측정하고 실시간 데이터베이스가 적용된 어플리케이션을 적절하게 관리할 수 있게 하는 QoS(Quality of Service) 파라미터들을 제공한다.

Transactions

Sensor updates

User transactions

Firm Deadline Semantics

많은 실시간 데이터베이스에서 흔하게 사용되는 특징이다. 변경 사항을 늦게 저장하는 것은 상품의 질이나 시스템 리소스에 좋지 않은 영향을 끼치는 상황이 있다. 현실의 현재 상황을 제대로 반영하지 못했기 때문이다. 따라서 이러한 특징을 고려한다.

Deadline Miss Ratio

\[MR = 100 \times {\#Trady / (\#Trady + \#Timely)} (\%)\]

#Trady 는 데드라인을 놓친 트랜잭션의 개수, #Timely는 데드라인을 맞춘 트랜잭션의 개수이다.

Metrics

평균 miss ratio와 같이 긴 시간을 보는 측정법은 실시간 데이터베이스의 다이나믹한 환경에 적용하기에 적합하지 않다. 따라서 overshoot과 settling time을 다음과 같이 정의한다.

definition of overshoot and settling time

Overshoot

시간이 지남에 따라 미스 비율이 요동칠 수 있으며, 데이터베이스는 이 미스 비율이 threshold를 넘지 않도록 제어하려고 노력할 것이다. Overshoot은 이 일시적인 상황에서 threshold를 넘은 가장 큰 미스 비율 $V$로 정의된다.

Settling time

Settling time은 overshoot에서 decay로 갈 때까지 걸린 시간 $T$로 정의된다. $T$ 시간이 지난 후 미스 비율이 $[0, MR_{t} + 0.01 \times MR_{t}]$ 범위 안에 있는 steady 상태에 진입해야 한다.

Management Architecture

본 논문은 위와 같이 실시간 문제 상황에서의 데이터베이스에서 QoS 매니지먼트를 위해 Control Loop를 사용하였다(마치 실내 온도나 자동차의 속도를 제어하는 것처럼). 3, 4장은 관련 metric을 정의하고 QoD(database freshness)를 관리하는 정책을 제안하였고, 5장부터는 control loop의 전체 아키텍처 설명이, 6장은 시뮬레이션 실험 내용이 서술되어 있다. 해당 내용은 본 글에서는 정리하지 않는다.

정리하며

생각보다 내용이 많아서 내가 필요해 보이는 부분만 일단 정리해 두는 식으로 읽어 보았다. 문제 상황을 기존의 제어 이론을 비슷하게 적용할 수 있도록 수학적으로 서술하는 과정이 인상깊었다. 제어 이론은 자율차 대회 준비할 때 동아리에서 기계과랑 전기과 사람들을 통해서 어깨너머로 들은 내용밖에 몰랐기 때문에, 기계나 전기 제어에서만 쓰인다고 생각했던 해결 방법이 real-time database처럼 하드웨어와 거의 관련이 없는 분야에서도 적용될 수 있다는 것이 신기했다. 문제를 잘 해결하려면 문제를 잘 정의하는 것이 중요하다는 생각이 다시 한 번 든다. 그리고 이런 방식으로 문제를 잘 정의한 논문을 더 읽어본다면 내가 겪었던 문제 상황을 수학적으로 서술하는 데 도움을 받을 수 있을 것 같다는 생각이 들었다.