Skip to main content

[Series] 지속가능성과 IT - 1

 

지속가능성과 IT -1- 

이길원, 윤여경


안녕하세요, 여름방학 블로그 지속가능성과 IT시리즈 연재의 1탄을 맡게 된 이길원, 윤여경입니다. 한 학기동안 SDGs를 실천하기 위해 전력 소모의 중요성을 다룬 블로그 글이 자주 올라왔는데요, 오늘은 테크팀의 일원으로서 컴퓨터의 전력소모를 줄이는 방법 중 하나인 캐싱에 대해 소개하려고 합니다.

 

·        캐시/캐싱이란 ?

 캐시(Cache)는 명령어(Instructions)나 데이터(Data)를 하위 메모리로부터 복사하여 일시적으로 저장해두는 저장 장치를 의미합니다. 캐시에 저장된 데이터는 브라우저의 이용 기록을 삭제하는 창에서 손쉽게 지울 수 있습니다. 캐싱은 이러한 과정을 일컫는 용어로, 캐싱을 사용하면 메모리 처리 속도가 빨라지기 때문에 웹 페이지 렌더링 속도도 단축됩니다. 쉽게 말하면, 자주 방문하는 웹사이트의 이미지나 기타 요소들이  캐시에 저장되어 유저가 페이지를 다음 방문할 때 데이터 로딩 속도가 빨라지게 되는 것을 하나의 예시로 들 수 있습니다.




·        캐시의 지역성

그렇다면 캐시가자주 쓰는 명령어나 데이터'는 어떤 기준으로 결정되는 걸까요? 이 판단 기준은 캐시의 지역성으로 설명할 수 있습니다. 캐시의 지역성에는 최근 참조된 데이터에 다시 접근하는 경향을 가리키는 시간 지역성(Temporal locality)과 최근 참조된 데이터의 주변 데이터에 접근하는 경향을 가리키는 공간 지역성(Spatial locality)으로 구분할 수 있습니다. 캐싱은 이러한 지역성을 바탕으로 유저가 다음에 쓸 것이라 판단되는 데이터를 캐시에 저장하는 것을 의미합니다. 참조하려는 데이터가 캐시에 존재하는 경우를 Cache Hit, 캐시가 존재하지 않는 경우에 Cache Miss가 발생했다고 합니다. 캐시에 대한 적중률은 Cache Hit의 횟수를 데이터의 전체 참조 횟수로 나눈 값으로 계산하게 되며, 이 적중률이 높을 때 더 많은 데이터 지연을 막을 수 있게 됩니다. 



·        캐싱의 쓰임

캐싱의 활용은 무궁무진하며, 캐싱은 데이터의 계산이나 접근 시간을 단축하여 시스템의 효율성을 높이는데 효과적입니다. 웹 캐싱의 기본적인 구현 방법 중 하나인 HTTP 캐시는, 세 개의 API(Cache-Control, ETag, Last-Modified)를 사용하며 HTTP의 헤더(header)에 캐싱 로딩 및 저장에 대한 조건을 저장합니다.



·        캐시 서버

우리가 사용하는 네트워크 데이터는 모두 0 1로 비트로 나타낼 수 있는 전기 신호입니다. 그렇다면 이런 전기 신호를 주고 받기 위해선 연결의 가장 아랫단에는 물리적 연결이 있어야 합니다. 이런 사실에 비추어 본다면, 물리적 연결 자체가 가까운 경우에, 전송 속도가 더 빠르지 않을까 하고 생각해볼 수 있습니다. 실제로 이런 아이디어에 기반하여 캐시 서버를 운영하기도 합니다. , 실제 어딘가에서 구동되는 서버와 별개로, 사용자들과 물리적으로 가까운 위치에 캐싱 서버를 두는 것입니다. 서버 역시 하나의 컴퓨터이기 때문에, 캐싱을 담당할 프로그램을 사용해야합니다. 이 때, Redis 와 같은 프로그램이 이런 역할을 수행하는 데 큰 도움을 줄 수 있습니다. Redis는 서버 메모리에 db를 직접 캐싱해두는 방식을 사용하기 때문에 cache hit이 발생한다면, database가 직접 디스크에 접근하지 않아도 된다는 장점이 존재합니다.



·        캐시의 장점

이러한 캐시가 우리에게 주는 장점을 정리해볼 수 있습니다. 우선, 사용자의 입장에서, 사용자 경험이 향상될 수 있습니다. 서버 또는 DB에서 불러오는 것이 아니라, 캐시된 값을 바로 사용하기 때문에 리소스 제공 속도가 매우 빨라질 수 있습니다. 또한 일반적인 경우, 실제 서버 또는 DB에 동일한 요청을 다시 보내지 않기에, 불필요한 통신에 드는 전력을 아낄 수 있습니다.



지금까지 캐시와 캐싱에 대해 간단하게 알아봤습니다. 이처럼, 캐시를 활용하는 것이 항상 성능 향상을 보장해주는 것은 아니지만 캐시를 적절히 활용하면 수행해야하는 연산이 줄어들어 전력 소모를 줄일 수 있다는 장점을 가지고 있습니다.





https://developer.mozilla.org/ko/docs/Web/HTTP/Caching

https://aws.amazon.com/ko/caching/web-caching/

https://web.dev/http-cache/




Comments

Popular Posts

[Research Team Insight #1] The A to Z of SDP Research Team

[10월호, 2020년] 세계시민의식과 SDGs에 대해 묻다: 강동렬 UN SDSN Youth Korea 총괄 인터뷰 - 4기 유재희, 이소정

 "개인의 움직임은 과연 얼마나 중요할까?" 위의 질문에서부터 본 인터뷰는 시작된다. SDP는 현재 지속가능발전 글로벌 리더가 되고자 거시적인 시각에서 에너지와 인프라에 관심을 가지고 활동하고 있다. 우리는 다양한 외부 기관으로부터 지지를 받으며 유의미한 성과를 내고 있지만, 혹 멀리서 커다란 모습에만 집중한 나머지 개개인이 일상에서 지속가능함을 위해 노력하는 미시적인 움직임을 놓치고 있는 것은 아닐까. 세계시민의식을 가지고 살아간다는 것은 어떠한 의미인지, 우리가 생활에서 실천할 수 있는 방법은 무엇일지 고민하게 되었다. 강동렬님은 세계시민교육가이자 지속가능발전활동가로, UN SDSN Youth Initiative 한국 총괄로 계시며 SDP의 활동에도 언제나 많은 도움을 아끼지 않으신다. SDP는 지난 8월, 재생에너지와 시민의식을 주제로 동렬님을 모시고 공개 세미나를 추진하였으나 코로나19 상황 악화로 인해 잠정 연기한 일이 있다. 우리의 질문과 맞닿아 있는 세미나를 기다리며, 동렬님이 중요하게 생각하시는 가치와 활동은 무엇인지 SDP가 작은 인터뷰를 통해 들어보고자 하였다. 4기 유재희, 이소정

[3월호, 2021년] #32 딥 페이크(Deep Fake)와 디지털 포렌식(Digital Forensic) - 7기 진희주

  딥 페이크(Deep Fake)와 디지털 포렌식(Digital Forensic) 7기 진희주 아래 사진 중 무엇이 실제 오바마의 사진일까 ? 네 장 모두 딥 페이크 기술을 통해 인공지능이 만든 오바마의 사진이다 . 딥 페이크 (Deep Fake) 는 Deep Learning 과 Fake 의 합성어이다 . 딥 페이크는 AI 를 이용해 특정인의 얼굴이나 목소리를 합성한 사진 , 영상 , 음성 편집물 및 그 기술을 통칭하는 단어이다 . 딥 페이크 기술은 새로운 유형의 신경망 ( 머신러닝 알고리즘 ) 발전으로 가능해졌다 .   딥 페이크 기술을 활용하면 유명인의 얼굴을 대역에 합성해 손쉽게 영상을 만들거나 세상에서 사라진 멸종 위기 종이나 과거의 사람들을 생생하게 재현할 수도 있게 된다 . 여러 사람의 얼굴을 통해 가상의 얼굴을 제작하여 사용하거나 스타일 트랜스퍼 (Style transfer) [1] 를 활용해 겨울을 여름으로 , 또는 화창한 날을 비 오는 날로 묘사하는 등 이미지의 환경적 맥락을 바꿀 수 있는 등 딥페이크 기술의 영상 • 사진 산업 분야의 활용도와 가치는 무궁무진하다 .   하지만 딥 페이크는 엄청난 힘에 걸맞게 악용 가능성이 높아 그 위험성에 대한 논란이 최근 활발하게 이뤄지고 있다 . 대표적인 악용사례는 유명 연예인을 합성한 불법 포르노 , 전•현직 대통령의 얼굴을 합성한 가짜뉴스 영상 등으로 사회를 큰 혼란에 빠뜨릴 수 있음을 보여준다 . 딥 페이크 범죄의 대상은 유명인을 넘어 점차 일반인에게까지 확장되고 있다 . 헤어진 연인 , 또는 지인의 얼굴을 다른 나체 사진이나 성인물 동영상과 합성하여 만든 딥 페이크 제작물을 온라인 상에서 유통하거나 이를 통해 협박하는 등 딥 페이크 영상은 점차 심각한 사회적 문제로 대두되고 있다 . 2019 년 4 월 국내에서 큰 논란이 되었던 텔레그램 N 번방 사건에서도 딥페이크를 악용한 사진이 거래 , 유포된 정황이 확인되어 그 심각성이 전면으로 드러나게 되었다 ....

[11월호, 2020년] Countermeasures against urbanization: Air pollution in Seoul - 5기 함이수

Countermeasures against urbanization: Air pollution in Seoul 55% of the world population resides in urban areas as of 2018, according to a UN report. The overly populated urban population has given rise to problems that people were not aware of in the past. Especially, the impacts of urbanization on the environment are slow to be seen thus has been accumulating, invisible to the human eye. What has been done to address these problems? Furthermore, how should we approach these issues henceforward?

[Research Team Insight #2] Project MaPPPing and the role of Research Team - 5기 권경민, 6기 김예빈

1.       What is Project MaPPPing   SDP is constituted of students who have great interest in sustainable development, and we refer to the SDG goals articulated by the UN as the global standard for sustainable development. This year, we have specifically focused on goal number 9 and 11 that emphasizes the role of infrastructure in sustainable development [1] . We believe that sustainable and resilient infrastructure is at the heart of sustainable growth, so we have launched a project called Project MaPPPing in December 2019.