https://www.hindawi.com/journals/sp/2020/5304612/
요약
computation-intensive method를 smartphone에서 cloud server로 offloading해서 실행함으로써 실행시간을 줄이고 스마트폰의 에너지 소비량을 줄이겠다는 내용.
이를 위해 java annotation기능을 사용하고 개발자가 computation intensive한 method에 annotation을 추가하면 offloading decider에 의해 해당 함수가 실행될 때 오프로딩 비용에 따라 오프로딩 여부 결정 후 오프로딩 수행.
evaluation은 computation intensive한 application 2개를 통해 실행시간 비교와 에너지 사용량 비교로 이루어짐.
실행시간 비교는 당연하겠지만 스마트폰에서 수행할 때 보다 클라우드로 오프로딩 했을 때 현저히 적음. 에너지 사용량은 스마트폰의 에너지 사용량만 측정했기 때문에 이 역시 오프로딩시 현저히 적어짐.
느낀점
annotation based framework 구현에 대한 논문이 어떻게 전개되는지 봤고, 어노테이션 등에 대한 개념에 대해서는 자세하게 설명되어 있는 반면 MCAF 자체에 대해서는 조금 가려진 부분이 있다고 느꼈다. 엄청 자세했던 것 같진 않다.
동기가 비슷하다고 생각했는데 방향이 반대라 되게 다른 연구라고 느꼈다.
Limitation
- is it practical..? 대부분 스마트폰에서 작동하는 앱은 computation이 많이 필요한 부분은 서버에서 작동하지 않나..게임 같은 앱 경우는 잘 모르겠지만 이미 클라우드를 본체로 작동하고 있을텐데 어플리케이션의 computation intensive한 메서드가 대부분 스마트폰에서 작동하고 있다는 가정이 있어야 이 논문이 제시하는 문제가 성립될 것 같은데 이 부분에서 공감이 안됐다.
- 어노테이션 메서드에 대한 제약이 너무 제한적이다. pure java code, not use the global variable, only public method - 순수한 자체 알고리즘으로 인한 computation intensive method가 많은 경우라면 의미있겠지만 대부분 라이브러리 쓰지 않나.
- computation intensive method를 개발자가 알아서 판단해서 지정해야 하는 상황. 이 기능 자체는 공감하는데 (개발자가 handling할 수 있는 부분이 많아야 한다고 생각하기 때문에) offloading decider가 있는데 connection 여부만 보는 것보다 어떤 offloading decision method를 간단하게라도 차용했으면 더 좋지 않았을까 하는 생각.