뉴스/정보
VR 하드웨어 분류

뚜껑을 열어보다: Meta의 클라우드 게이밍 인프라에 대해서 - 번역

작성자 정보

  • 게이머여울 작성
  • 작성일

컨텐츠 정보

  • 388 조회
  • 0 추천
  • 0 비추천
  • 목록

본문



702e6c6ec9b9ddd90e7764e5eeca6949d5345ce8d6cd391cb8d856a62e2d10a6.png




https://engineering.fb.com/2022/06/09/web/cloud-gaming-infrastructure/


클라우드 게이밍의 약속은 게이밍을 민주화 하겠다는 약속과 같습니다. (ㄹㅇ 원문이 이럼 오해ㄴ)

게임을 좋아하는 사람들은 최신이고 최고로 비싼 게이밍 하드웨어가 없더라도 게임은 어디에서든 언제나 즐길 수 있어야하고 친구들과 경험을 공유할 수 있어야합니다.

페이스북은 2020년에 누구든지 앱 및 브라우저에서 게임을 즉시 플레이 할 수 있는 클라우드 게이밍 플랫폼을 런칭했습니다. https://www.facebook.com/fbgaminghome/blog/cloud-gaming-meet-facebook-gaming


클라우드 게이밍을 제공하고 전례 없는 액세스를 구현하는것은 Meta의 엔지니어게 있어서는 새로운 도전이었고 전 세계 사람들에게 양질의 게임 경험을 제공할 수 있는 성장하는 하드웨어 인프라를 개발해야 했습니다.


하지만 게이밍 자체도 발전합니다. AR 및 VR과 같은 새로운 3D 경험에서부터 궁극적으로 메타버스가 될 것까지, 전 세계의 사람들은 점점 더 몰입감 넘치는 게임을 가능한 한 원활하고 쉽게 플레이하기를 원합니다. 메타버스를 실현하려면 업계 전반에 걸쳐 엄청난 노력이 필요하지만 클라우드 게이밍의 인프라를 구축하고 문제를 해결하는 것이 메타버스에 대한 솔루션 또한 제시하고 있다고 믿습니다.



왜 클라우드 게이밍인가?


클라우드 게임은 접근성에 관한 것입니다. 사람들이 사용하는 장치나 위치에 관계없이 사람들에게 게임을 제공합니다. 클라우드에 게임 앱을 배치하면 사람들이 새 하드웨어를 구입하지 않아도 되며 대용량 다운로드나 업데이트를 기다릴 필요도 없습니다. 데스크톱 및 모바일 장치 간 원활한 크로스 플레이와 유연한 앱 배포가 가능합니다.


클라우드 게임은 또한 개발자가 여러 하드웨어 플랫폼(예: 데스크톱 및 모바일)에 맞게 게임을 최적화하기 위해 많은 노력을 쏟을 필요가 없기 때문에 기존보다 쉬운 개발자 경험을 약속합니다. 이상적인 세계에서 개발자는 앱을 한 번만 빌드하면 되고 여러 종류의 바이너리 없이도 여러 장치에 배포할 수 있습니다.




Meta의 클라우드 게이밍 인프라 내부



Meta에서 클라우드 게이밍을 활성화한다는 것은 클라우드 게이밍에 내재된 문제를 해결하기 위해 새로운 하드웨어 및 소프트웨어 인프라를 개발하는 것과 같았습니다. 클라우드 기반 게이밍은 빠르고 부드러운 게임 플레이 경험을 제공하기 위해 낮은 종단 간 대기 시간이 필요하고 고품질 비디오 및 오디오가 가능한 한 적은 지터값으로 스트리밍되어야합니다. 또한 인프라는 경제적 효율성을 위해 단일 클라우드 게임 서버에서 여러 게임을 실행할 수 있어야 합니다. 그리고 이 모든 것은 다양한 사이버 공격으로부터 보호되는 동시에 강력하고 효율적이어야 합니다.



에지 컴퓨팅, GPU 및 가상화


클라우드 게이밍 인프라가 플레이어에게 가장 적은 레이턴시를 제공하는 가장 좋은 방법은 네트워크 거리 측면에서 플레이어에게 최대한 가깝게 가져오는것입니다. Meta의 데이터 센터만으로는 클라우드 게이밍에 필요한 초저 대기 시간 수준을 제공할 수 없습니다. 따라서 우리는 에지 컴퓨팅에 의존하여 인구가 많은 대도시 지역에 있는 에지에 배포하여 클라우드 게임 인프라를 플레이어에게 더 가까이 가져옵니다.


edb710fce95b0532cd712471601f0b7a00df2eaae78ef6408fe407d53768f074.png


엣지 컴퓨팅 장소를 늘릴수록 레이턴시는 개선됩니다.


오늘날의 게임은 GPU용으로 설계되었으므로 NVIDIA와 협력하여 NVIDIA Ampere 아키텍처 기반 GPU 위에 호스팅 환경을 구축했습니다.


게임 자체를 실행하기 위해 에지 컴퓨팅 운영체제 위에 클러스터 관리 시스템인 Twin을 사용합니다. https://engineering.fb.com/2019/06/06/data-center-engineering/twine/

orchestration 서비스를 구축하여 스트리밍 신호를 관리하고 Twine을 통해 엣지에서의 게임 서버를 제어합니다.


우리는 Windows 및 Android 게임 모두에 대한 컨테이너 기술을 구축하고 사용했습니다. Windows 및 Android 게임을 위한 다양한 호스팅 솔루션이 있으며 Windows 호스팅 솔루션은 PlayGiga와의 통합과 함께 제공됩니다. 우리는 두 운영 체제 모두에서 게임을 관리하고 실행할 수 있는 통합 orchestration 시스템을 구축했습니다. 즉, 다양한 플랫폼에서 보다 유연하게 게임을 제공하고 용량을 관리할 수 있습니다.


702e6c6ec9b9ddd90e7764e5eeca6949d5345ce8d6cd391cb8d856a62e2d10a6.png


 

비디오 및 오디오 스트리밍


궁극적으로 부드러운 비디오 및 오디오를 제공하는 것은 클라우드 게임 경험의 가장 중요한 부분 중 하나입니다. 온라인 게임을 해 본 사람이라면 대기 시간이 야기할 수 있는 좌절감을 잘 알고 있습니다.


기술의 성숙도와 호환성을 고려한 후 게임용 스트리밍 사용자 입력 및 비디오/오디오 프레임에 대한 솔루션으로 SRTP(Secure Real-Time Transport Protocol)기술이 포함된 WebRTC를 사용했습니다. 이를 통해 시간이 지남에 따라 비디오 및 오디오 스트리밍 성능을 크게 향상시킬 수 있었습니다.


일단, 클라우드 게이밍을 위한 기본 스트리밍 흐름부터 시작하겠습니다.


플레이어가 게임에서 액션을 수행하기 위해 클릭할 때마다(예: 캐릭터가 점프하기 위해) 클릭 이벤트를 캡처하여 서버로 보냈고, 이벤트를 게임이 받습니다. 그런 다음 게임은 해당 작업(즉, 캐릭터 점프)의 결과가 포함된 프레임을 렌더링했습니다. 렌더링된 프레임을 캡처하고 복사한 다음 비디오 인코더를 사용하여 인코딩했습니다. 그런 다음 프레임은 UDP(User Datagram Protocol) 패킷에 맞도록 패킷화되어 네트워크를 통해 플레이어로 전송됩니다. 마지막으로 플레이어 측에는 패킷이 들어올 때 원활하게 재생하는 데 도움이 되는 지터 버퍼가 있었습니다. 우리는 패킷을 프레임으로 디코딩한 다음 플레이어를 위해 프레임을 렌더링했습니다.


이 모든 일이 너무 빨리 일어나서 플레이어는 클릭과 동작 사이의 시간을 인식하지 못했습니다. 그러나 이러한 각 단계에는 약간의 시간이 걸립니다. 그리고 이러한 시간이 쌓이게되면 플레이어의 대기 시간과 지연 시간이 길어질 수 있습니다.


우리의 현재 모델은 이를 크게 개선하고 GPU 인코딩을 사용하여 대기 시간을 개선합니다. 인코딩에 GPU를 사용한다는 것은 게임이 프레임을 렌더링할 때 GPU에서 렌더링되고 인코딩될 때까지 GPU의 메모리를 떠나지 않는다는 것을 의미합니다. 이 프로세스는 훨씬 더 효율적이며 GPU와 메인 서버 사이의 PCI 버스 대역폭을 많이 사용하지 않습니다. 인코딩된 프레임도 원시 프레임보다 작아집니다.



1677012929bb76d89411a250460ef1b50d714989b0bdab24ee732c8023a12c4e.png

영상 및 오디오 스트리밍을 위한 우리의 현재 모델은 GPU 인코딩을 사용하면서 극적인 레이턴시 개선을 이뤄냈습니다.


네트워킹 측면에서 플레이어와 가까운 에지 컴퓨팅 사이트는 비디오 및 오디오 대기 시간을 줄이는 데 도움이 됩니다. 전체 스트리밍 파이프라인을 GPU로 이동하는 것보다 훨씬 더 중요합니다.


플레이어 측에서는 이제 하드웨어 디코딩을 사용하여 디코딩 시간을 줄입니다. 비디오와 오디오는 일반적으로 함께 동기화되지만 대기 시간을 개선하기 위해 오디오보다 약간 앞서 비디오를 보낼 수도 있습니다. 플레이어의 컴퓨터 모니터나 스마트폰 화면의 고유한 대기 시간을 활용할 수도 있습니다. 화면은 특정 비율(예: 30fps 또는 60fps)로 프레임을 하나씩 표시합니다. 프레임 사이의 감지할 수 없는 간격을 사용하여 지터를 흡수하고 비디오를 매끄럽게 만들 수 있습니다. 더 높은 FPS를 지원하는 장치의 경우 대기 시간이 더 줄어들 수 있습니다.



클라우드 게임 보안 유지


플레이어와 개발자는 모든 클라우드 게이밍 경험이 안전하고 안전하다고 확신해야 합니다. 플레이어는 자신의 데이터가 안전하고 게임에 치팅 플레이어가 없다는 것을 알아야 합니다. 그리고 개발자는 자신의 제품이 불법 복제 및 기타 보안 취약점으로부터 안전하다는 것을 확신해야 합니다.


에지 컴퓨팅, GPU 가상화 및 비디오/오디오 스트리밍을 통합하면 클라우드 게임 인프라가 매우 복잡해집니다. 그리고 이러한 복잡성으로 인해 고유한 보안 문제가 발생합니다. Windows 및 Android 기반 시스템인 이 시스템은 본질적으로 이러한 환경의 보안 문제를 해결해야 하며 DDOS 공격과 같은 위협으로부터 보호해야 합니다.


보안 문제를 식별하고 해결하기 위해 설계 및 구현에서 테스트에 이르는 개발의 모든 단계에서 보안을 평가합니다. 여기에는 위협 모델링, 보안 코드 검토, 퍼지 테스트 및 보안 테스트가 포함됩니다. 우리는 클라우드 게임이 다른 Meta 시스템을 공격하기 위한 진입점이 되는 것을 원하지 않으므로 클라우드 게임 인프라는 Meta의 핵심 데이터 인프라와 완전히 격리됩니다. 또한 시스템에 대한 정기적인 보안 평가를 수행하기 위해 외부 회사와 협력하는 내부 보안 팀이 있습니다.



여기서부터는 전부 번역기




클라우드 게임과 메타버스



메타버스는 사람들이 플레이할 게임 유형뿐만 아니라 게임이 제공되는 방식에도 게임의 미래에 대한 주요 의미를 담고 있습니다. 메타버스는 네트워크 연결 요구 사항을 그 어느 때보다 더 높일 것입니다. 오늘 우리가 놓는 토대는 더 큰 산업이 메타버스 경험을 만드는 데 필요한 복잡한 컴퓨팅을 처리하는 데 필요한 클라우드 인프라를 만드는 데 중요한 역할을 할 것입니다.


AAA 게임과 마찬가지로 미래의 메타버스 경험은 가능한 한 가장 높은 충실도와 가장 낮은 대기 시간을 요구할 것입니다. 경험이 원활하지 않으면 누구에게도 적용되지 않습니다. 즉, 메타버스 네트워크에는 초저지연, 높은 확장성, 높은 처리량 및 연합 데이터 저장소가 있어야 합니다.


이 새로운 네트워크 아키텍처가 어떻게 생겼든 오늘날의 전체 네트워크 아키텍처에 대한 단계적인 변화가 필요합니다. 동일한 근접 거리(예: 동일한 Wi-Fi AP 적용 범위 내)에 있는 사람들 간에 정보를 교환하려면 안정적인 QoS(서비스 품질) 인식 피어 투 피어 통신 링크 및 프로토콜이 필요합니다. 전 세계적으로 지연, 지터 및 패킷 손실 성능을 제한하려면 통합된 유비쿼터스 네트워크 토폴로지가 필요합니다. 대기 시간, 안정성 및 처리량 개선과 연합 데이터베이스 개발과 관련된 문제로 인해 엔지니어는 종단 간 통신 네트워크에서 컴퓨팅 및 라우팅 리소스를 재설계하고 재배포해야 할 수 있습니다. 그러면 메타버스는 네트워크의 모든 세그먼트에서 유비쿼터스 종단 간 QoS 관리 전략이 필요합니다.


우리는 지금 이 모든 문제를 해결하기 위해 노력하고 있습니다. 일부 통찰력을 제공하는 클라우드 게임 인프라를 통해 모바일 네트워크 사업자 및 통신 사업자, 하드웨어 칩셋 제조업체 및 기타 파트너와 협력하여 메타버스의 요구 사항을 해결할 솔루션을 만들고 있습니다.



클라우드 게임의 즉각적인 미래는 무엇입니까?


많은 사람들이 게임을 통해 처음으로 메타버스에 발을 들일 것입니다. 메타버스에 대한 장기적인 비전을 위해 노력하면서 Meta의 앱 제품군 전반에 걸쳐 사람들을 위해 메타버스로의 격차를 해소하는 데 도움이 되는 새로운 2D 경험을 계속 구축할 것입니다. 최근 Facebook Gaming에서 클라우드 스트리밍 제작 플랫폼으로 Crayta를 출시 한 것은 이러한 작업의 좋은 예입니다.


클라우드 게임 플랫폼을 확장함에 따라 클라우드 게임 인프라를 업그레이드하고 개선하기 위해 지속적으로 노력하고 있습니다. 앞으로 2~3년 동안 우리는 전 세계의 더 많은 사람들에게 게임을 제공하기 위해 더 많은 국제적 확장을 위해 노력하고 있습니다. 또한 모바일 네트워크 운영자 및 이동통신사와 협력하여 액세스 네트워크의 지연 시간을 크게 개선하고 있습니다. 하드웨어 측면에서 우리는 칩셋 제조업체와 협력하여 사용자 장치의 대기 시간을 개선하고 있습니다. 또한 더 나은 스트리밍 효율성을 제공하기 위해 새로운 컨테이너 기술을 개발하고 있습니다. 물론 시스템이 성장하고 개선됨에 따라 보안에 대한 지속적인 압박이 있을 것입니다.


개발자는 시스템 호환성을 개선하여 개발자 오버헤드를 줄이고 개발, 테스트, 디버깅, 실험 및 분석을 위한 더 나은 도구를 제공하는 등 상당한 개선을 기대할 수 있습니다. 그리고 우리의 클라우드 게임 노력에서 가장 중요한 부분을 차지하는 플레이어는 곧 제공될 새롭고 더욱 몰입도 높은 게임 경험을 기대할 수 있습니다.


사람들이 원할 때 언제 어디서나 멋진 게임을 함께 할 수 있도록 하는 우리의 목표는 변하지 않지만 클라우드 게임에 대한 우리의 지속적인 노력은 이러한 경험을 더욱 향상시킬 것입니다.


관련자료

댓글 0
등록된 댓글이 없습니다.
알림 0