3.1.1 speed test. 우리는 전체 대역폭을 활용하려는 데이터 집약적인 앱의 예로 SpeedTest로 연구를 시작합니다. 대량 TCP 데이터 전송을 사용하여 측정을 수행한 이전 연구 결과를 반영할 수 있을 것으로 기대합니다 [9, 15]. 우리는 앱의 다운링크 구성요소에 초점을 맞춥니다.
그림 2a에서, 우리는 두 네트워크의 성능이 유사한 두 위치(WдLд 및 WbLb)에서 MPTCP가 WiFi 또는 LTE에 비해 대역폭을 65-125% 증가시키는 데 크게 도움이 된다는 것을 관찰했습니다. 특히, WbLb 위치에서 MPTCP 대역폭은 WiFi 및 LTE 대역폭의 합계와 거의 같습니다. 또한 이 두 위치에서 MPTCP는 SPTCP(그림 2b)에 비해 Edata와 Ecpu를 모두 줄임으로써 에너지 소비를 줄입니다. 대조적으로, WiFi와 LTE 대역폭(WдLb 및 WbLд) 사이의 격차가 큰 위치에서 MPTCP는 이전 연구에서도 관찰된 바와 같이 최적 경로에 대해 SPTCP와 비슷하거나 더 나쁜 것으로 나타났습니다[9, 15, 16]. 총 에너지의 증가는 주로 Edata의 증가에 기인합니다.
그림 2c는 MPTCP가 일반적으로 균질한 네트워크 조건에서 두 경로 사이의 좋은 균형을 달성하지만 이질성이 높은 경우에는 그렇게 하지 못한다는 것을 보여줍니다. 특히, 우리는 실험 중 LTE 대역폭이 극도로 낮았던 WдLb 위치에서 거의 100%의 바이트가 MP-WiFi와 MP-LTE 모두에서 WiFi를 통해 다운로드되었음을 관찰합니다. 결과적으로 MP-WiFi는 WiFi 단독으로 거의 동일한 성능을 발휘하며 유사한 에너지를 소비하는 반면(그림 2a, 2b) MP-LTE는 (2차) WiFi 서브플로우 구축에 필요한 추가 지연의 영향을 받아 성능이 크게 저하됩니다. 반면, Wb Lд 위치에서는 MP-WiFi와 MP-LTE 모두에서 불량 경로(WiFi)를 통해 유사하고 무시할 수 없는 양의 데이터가 전송됩니다. 결과적으로, MP LTE는 MP-WiFi보다 약간 높은 성능과 낮은 에너지 소비를 가지고 있습니다.
그림 2d는 두 네트워크 모두에서 활용률이 유사한 Wb Lд 위치를 제외하고는 WiFi가 LTE보다 CPU 활용률이 높다는 것을 보여줍니다. 또한 MPTCP를 통한 활용도는 WдLд, WдLb에서 WiFi와 LTE의 활용도 사이에 있으며, WbLb에서 보다 눈에 띄게 높고, WbLb에서 보다 낮습니다. 총 에너지에 대한 CPU 에너지의 비율은 4곳 모두에서 WiFi만으로 가장 높고 MP-LTE로 가장 낮습니다.
3.1.2 드롭박스입니다. Dropbox의 경우 업로드 집약적인 앱을 연구합니다. Dropbox는 전체 대역폭을 활용하지 않습니다. SpeedTest에서 훨씬 더 높은 값을 보고했지만 30Mbps 이상의 업로드 처리량을 측정할 수 없었습니다.
그림 3a에서, 우리는 MPTCP의 성능이 WiFi 단독의 성능과 좋은 WiFi(WдLд 및 WдLb)의 경우 LTE 단독의 성능 사이에 있음을 관찰합니다. 이러한 경우 MPTCP는 WiFi를 통해 거의 모든 바이트를 전송합니다(그림 3c). 두 네트워크의 대역폭이 유사한 경우에도 훨씬 낮은 RTT를 나타냅니다. 결과적으로 MP-WiFi는 MP-LTE(WдLb)와 유사하거나 더 나은 성능을 발휘합니다. 또한 WiFi를 사용하는 경우에만 에너지 소비량이 이 두 위치에서 가장 낮습니다(그림 3b). MPTCP는 WiFi보다 높은 에너지 비용을 발생시킵니다.
MP-WiFi의 경우, 와이파이 단독 대비 에다가 증가한 반면, MP-LTE의 경우 에다와 Ecpu 모두 증가한 영향입니다. 결과적으로 MP-LTE의 에너지 비용은 MP-WiFi보다 높습니다.
대조적으로, MPTCP는 WiFi 성능이 떨어지는 경우(WbLθ 및 WbLb) WiFi 단독 및 LTE 단독에 비해 성능이 크게 향상됩니다. 특히 위치 Wb Lb에 있습니다.
MP-LTE를 사용하는 처리량은 WiFi 및 LTE 단독으로 사용하는 개별 처리량보다 약간 높습니다. 흥미롭게도, 두 경우 모두 성능 향상은 가장 에너지 효율적인 SPTCP에 비해 에너지 비용이 약간 증가하는 비용으로 이루어집니다.
위치 Wb Lд에서 MP-WiFi와 MP-LTE의 에너지 비용은 모두 비슷하며, Edata의 소폭 증가로 인한 LTE 단독 비용보다 약간 높습니다. 위치 Wb Lb에서 MP-LTE는 MP-WiFi보다 에너지 효율이 높습니다. 흥미롭게도 MPTCP는 WiFi 단독에 비해 Ecpu를 감소시키지만 Edata를 증가시킵니다.
그림 3d는 SpeedTest와 마찬가지로 Wb L†를 제외하고 WiFi를 사용하면 CPU 활용률이 더 높아진다는 것을 보여줍니다. 여기서 MPTCP는 속도 테스트와 대조적으로 Wb L³ 및 Wb Lb 모두에서 활용도를 높입니다. 총 에너지 소비에 대한 CPU의 기여도는 다시 4곳 모두에서 WiFi 단독으로 가장 높고, LTE 단독으로 CPU 에너지가 최소인 WдLb를 제외하고 MPTCP 단독으로 가장 낮습니다.
3.2.1 Spotify입니다. 그림 4a는 MPTCP가 WiFi를 통해 거의 모든 바이트를 다시 전송하는 WiFi가 양호한 위치(그림 4c)에서 MP-WiFi는 최상의 SPTCP(WiFi)보다 성능이 우수하거나 우수한 SPTCP(WiFi)보다 우수한 반면 MP-LTE의 성능은 우수한 SPTCP(WiFi)보다 낮은 것으로 나타났습니다. 그림 4b는 MPWiFi를 사용하는 에너지 비용이 두 경우 모두 WiFi와 유사한 반면 MP-LTE의 에너지 비용은 Edata의 증가로 인해 더 높다는 것을 보여줍니다.반면, MPTCP는 WiFi(Wb Lд 및 Wb Lb)가 불량한 경우 SPTCP에 비해 성능이 크게 향상됩니다.
위치 Wb Lд에서 MP-WiFi는 MP-LTE보다 약간 더 에너지 효율적이지만, 두 MPTCP 버전은 Edata의 약간의 증가로 인해 LTE 단독보다 약간 덜 에너지 효율적입니다. 위치 WbLb에서 MP-WiFi만 SPTCP에 비해 성능이 향상되는데, 흥미롭게도 Edata와 Ecpu 모두의 감소로 인해 에너지 비용이 동시에 감소합니다. 대조적으로 MP-LTE의 성능은 표준편차가 크지만 최상의 SPTCP(WiFi)와 유사한 수준을 유지하고 있으며, 에너지 비용은 WiFi만 하더라도 Edata의 증가로 인해 더 높습니다.
이전의 두 앱과 마찬가지로, 그림 4d는 WiFi가 Wb Lд 위치를 제외하고는 CPU 사용률이 더 높다는 것을 보여줍니다. MPTCP의 활용도는 WiFi와 LTE의 활용도 사이에 있거나 둘 중 가장 높으나 더 이상 증가하지는 않습니다. 전체 에너지 소비에 대한 CPU의 기여도는 다시 WiFi가 가장 높고 MP-LTE가 가장 낮습니다.
3.2.2 YouTube입니다. 그림 5a, 5b에서 MPTCP는 SPTCP와 비교하여 4개 위치 모두에서 다운로드 처리량을 개선하고 에너지 소비가 (Wb Lb, Edata 및 Ecpu 모두의 감소로 인해) 또는 가장 에너지 효율적인 SPTCP(예: WiFi In Wl, LTE In Lb)의 에너지 소비와 유사한 (다른 3개 위치) 결과를 낳습니다. 그러나 처리량에 관계없이 모든 실험(480p)에서 비디오 품질이 동일하게 유지되는 것을 확인했습니다. 참고로, WbLb 위치에서는 MP-LTE(이 일련의 실험 중에 LTE 처리량이 WiFi 처리량보다 높았기 때문에 예상됨)로만 개선되는 반면 MP-WiFi는 LTE에 비해 처리량이 낮고 에너지 비용이 높습니다(Edata와 Ecpu 모두 증가함). WbLb에서 MP-WiFi를 사용하는 바이트의 99%가 WiFi를 통해 전송된다는 점에 유의하십시오(그림 5c). 정체 제어 메커니즘의 상호 작용 불량이 원인일 수 있습니다. MP-WiFi에 대한 유사한 결과가 WдLb 위치에서 관찰되는데, 이는 Edata가 약간 증가했기 때문입니다.이전 앱과 마찬가지로, 그림 5d는 WiFi가 Wb Lд 위치를 제외하고 CPU 활용도를 높임을 보여줍니다. MPTCP는 WдLд, WдLb, Wb Lд 위치에서 활용도를 높이고 Wb Lb에서 활용도를 낮춥니다. 전체 에너지 소비에 대한 CPU의 기여도는 다시 WiFi가 가장 높고 MP-LTE가 가장 낮습니다.
우리는 12개의 웹 사이트를 큰 사이트(qq, flickr, nytimes)와 작은 사이트(imgur, 위키피디아, 구글, 페이스북, 유튜브, 야후, 바이두, 아마존, 트위터)의 두 그룹으로 나눕니다. 세 개의 대규모 사이트에서 다운로드한 총 바이트 수는 6-15MB입니다(방문할 때마다 변경되는 내장 개체 수, 플리커의 이미지 등에 따라 다름). 반면, 나머지 9개 사이트에서 다운로드한 총 바이트 수는 항상 5MB 미만입니다. 그림 6a, 6e는 WiFi만으로도 크고 작은 사이트 모두에서 항상 가장 낮은 PLT를 생성하고 MPTCP는 PLT를 증가시킵니다. 75-130%(대규모 사이트: WдLд, WдLb, 소규모 사이트입니다. WдLд, WдLb 및 WbLb)이 있습니다. 유일한 예외는 MP-WiFi가 WiFi 및 LTE에 비해 PLT가 약간 감소하는 Wb Lb의 대규모 사이트입니다. 전반적으로 이 결과는 [22](최적의 단일 경로 TCP PLT에 비해 1-7% 향상)의 결과보다 훨씬 더 나쁘고 [15]의 결과와 유사합니다. 또한 그림 6b, 6f는 MPTCP가 가장 에너지 효율적인 SPTCP에 비해 높은 에너지 비용을 초래한다는 것을 보여줍니다. 단, 위치 WдLb(Ecpu 감소로 인해 WiFi보다 15% 향상됨)에 있는 대규모 사이트는 예외입니다. PLT와 마찬가지로 에너지의 증가는 상당할 수 있으며 주로 Edata의 증가로 인해 발생합니다. 유사한 결과가 [31]에서 발견되었습니다. 그림 6c, 6g은 모든 경우에, 1차 흐름에 관계없이 대부분의 바이트가 MPTCP와 함께 WiFi를 통해 전달된다는 것을 보여줍니다. 우리는 와이파이가 LTE보다 상당히 짧은 RTT를 나타냈다는 것을 다시 확인했습니다.
모든 데이터 집약적인 애플리케이션과 대조적으로, 그림 6d, 6h는 WiFi만 사용해도 Wb L†의 경우에도 네 곳 모두에서 더 높은 CPU 활용률을 달성할 수 있음을 보여줍니다. 또한 MPTCP는 몇 가지 경우에서 CPU 활용률이 가장 낮지만, 때로는 기본 흐름을 선택하는 것이 매우 중요합니다(예: 대규모 사이트). WдLд, WbLb, 소규모 사이트입니다. 반면, 데이터 집약적인 앱과 마찬가지로 전체 에너지 소비에 대한 CPU의 기여도는 WiFi가 가장 높고 MP-LTE가 가장 낮습니다(LTE만으로 CPU 에너지 소비가 가장 낮은 Wb Lд의 작은 사이트를 제외하고). 그림 6f의 또 다른 관찰 결과는 소규모 사이트의 경우 전체 에너지 소비에 대한 CPU의 기여도가 50% 이상으로 비정상적으로 높다는 것입니다.
4.2.1 Facebook입니다. 그림 7a는 WiFi만 사용하는 평균 RTT가 4개 위치 모두에서 가장 낮은 것을 보여줍니다. MPTCP를 사용한 평균 RTT는 네 위치 모두에서 SPTCP 값 사이에 있습니다. Wb Lb에서 MP-WiFi는 실제로 최악의 SPTCP RTT보다 약간 높은 RTT를 생성합니다. WiFi RTT가 낮을수록 MP-WiFi 및 MP-LTE에서 대부분의 바이트가 WiFi를 통해 전송됩니다(그림 7c). 그림 7b는 MPTCP가 주로 Ecpu의 감소로 인해 WbLb의 가장 에너지 효율적인 SPTCP에 비해 에너지 소비량이 약간 감소하지만, 주로 Edata의 증가로 인해 WbLb의 가장 에너지 효율적인 SPTCP보다 더 높은(MP-WiFi) 및 훨씬 높은(MP-LTE) 에너지 비용이 발생한다는 것을 보여줍니다. 나머지 두 곳에서 MP-WiFi는 MP-LTE보다 낮은 RTT와 낮은 에너지 비용을 제공합니다. 웹 브라우징과 마찬가지로, 그림 7d는 WiFi만 사용해도 네 가지 구성 간의 차이가 매우 작음에도 불구하고 네 위치 모두에서 CPU 사용률이 더 높다는 것을 보여줍니다. 전체 에너지 소비에 대한 CPU의 기여도는 다시 WiFi가 가장 높고 MP-LTE가 가장 낮습니다.
4.2.2 메신저입니다. Facebook과 유사하게, 그림 8a는 WiFi RTT가 가장 낮고 MPTCP를 사용하는 RTT가 일반적으로 SPTCP를 사용하는 RTT 사이에 있음을 보여줍니다. 유일한 예외는 MP-WiFi가 표준 편차가 크지만 평균 RTT를 개선하는 WbLb입니다. 다시 말하지만, 특히 MP-WiFi의 경우 대부분의 바이트가 WiFi를 통해 전송됩니다(그림 8c). 그림 8b는 MPTCP가 Edata의 증가로 인해 WдLд 및 WbLд에서 WiFi 단독보다 더 많은 에너지를 소비하는 반면 다른 두 위치의 에너지 효율은 1차 흐름의 선택에 따라 결정된다는 것을 보여줍니다. WдLb에서 MP-WiFi는 WiFi 단독보다 Edata와 Ecpu를 모두 줄여 가장 에너지 효율적인 구성인 반면 MP-LTE는 WiFi 단독보다 우수하고 LTE 단독보다 우수합니다. 반면 WbLb에서는 MP LTE와 WiFi만 사용해도 가장 에너지 효율적인 구성이지만 MP-WiFi만 사용해도 Edata와 Ecpu가 모두 증가하여 WiFi만 사용해도 5배 더 높은 에너지를 얻을 수 있습니다. 그림 8d는 CPU 사용률이 네 가지 구성 모두에서 유사하게 유지되고 항상 20% 미만임을 보여줍니다. 또한 총 에너지 소비에 대한 CPU의 기여도는 세 개의 첫 번째 위치에 있는 네 가지 구성 모두와 비슷합니다. 다른 앱과 달리 WbLb에서는 MP-LTE가 38%로 WiFi만(40%)과 유사한 반면 MP-WiFi와 LTE만(23%)으로 CPU 기여도가 상당히 낮습니다.
표 3, 4, 5는 MPTCP의 성능, 에너지 및 CPU 활용률을 각 32개 시나리오에서 최상의 SPTCP의 성능과 비교한 결과를 요약합니다(시나리오는 주어진 위치에서 테스트된 특정 애플리케이션임). 표 3, 4의 "최적" 열은 두 MPTCP 버전 중에서 각각 더 높은 성능과 더 낮은 에너지 소비를 달성하는 버전을 보여줍니다. 표 4에서, 우리는 두 에너지 구성 요소(Ecpu 또는 Edata) 중에서 총 에너지 소비량의 증가 또는 감소에 기여하는 것을 괄호 안에 추가합니다. 예를 들어, ↑(Ed)는 MPTCP가 에너지 소비를 증가시키고 그 증가가 Edata에서 발생한다는 것을 의미합니다. 표 5의 열은 두 MPTCP 버전 중에서 총 에너지에 대한 가장 낮은 NU와 가장 낮은 CPU 에너지 소비 비율을 달성한 버전을 보여줍니다.
표 3은 MPTCP(두 가지 버전 중 하나 이상)가 13/32 시나리오에서만 최상의 SPTCP보다 더 나은 성능을 제공한다는 것을 보여줍니다. 반면, 두 버전 모두 14개 시나리오에서 성능이 저하되는 반면, 나머지 5개 시나리오에서는 적어도 하나 이상의 MPTCP 버전이 최상의 SPTCP와 유사한 성능을 유지합니다. 두 MPTCP 버전 모두 13개 시나리오 중 6개 시나리오에서만 최상의 SPTCP보다 우수한 성능을 발휘합니다. 나머지 7개 시나리오 중 MP-WiFi는 5개, MP-LTE는 2개에서 성능을 향상시킵니다. MPTCP를 가장 선호하는 위치는 Wb Lb(6/13 시나리오)입니다. 직관적으로 MP-WiFi는 일반적으로 WiFi가 양호한 위치(위치 WдLb 및 WдLb에서 12/16 시나리오)에서 MP-LTE보다 성능이 우수하며, 두 네트워크 모두 성능이 떨어지는 경우(위치 WbLb에서 5/8 시나리오)가 많습니다. 대조적으로, MP-LTE는 일반적으로 LTE가 WiFi보다 빠를 때 MP-WiFi를 능가합니다(위치 Wb Lд). 예상대로 MPTCP는 대부분 데이터 집약적인 애플리케이션(11/16 시나리오)에 도움이 되지만 대화형 애플리케이션(14/16 시나리오)의 성능은 저하됩니다.
표 4의 에너지 비용을 보면 상황이 더 악화됩니다. MPTCP(최소 한 버전)는 7/32 시나리오에서만 가장 에너지 효율적인 SPTCP에 비해 에너지 효율을 향상시킵니다. 적어도 하나의 MPTCP 버전은 10가지 시나리오에서 SPTCP와 유사한 에너지 비용을 가지고 있지만, 나머지 15가지 시나리오에서는 MPTCP가 더 높은 에너지 비용을 초래합니다. MPTCP가 에너지 효율을 개선하는 7가지 시나리오 중 MP-WiFi와 MP-LTE는 각각 3/7 시나리오에서 더 나은 에너지 절약을 달성하는 반면 한 시나리오에서는 에너지 소비가 유사합니다. 또한 MPTCP는 4가지 시나리오에서만 성능과 에너지 효율성을 모두 향상시킵니다. MPTCP가 성능을 향상시키는 나머지 9개 시나리오 중 에너지 비용은 4개의 MPTCP와 SPTCP 모두 동일하게 유지되고 나머지 5개의 시나리오에서는 성능-에너지 균형이 나타납니다. 마찬가지로 MPTCP가 에너지 효율을 개선하는 나머지 3가지 시나리오에서도 성능-에너지 균형이 나타납니다. 성능과 마찬가지로 에너지 소비 측면에서 MPTCP를 가장 선호하는 위치는 Wb Lb(3/7 시나리오)입니다. 성능과 달리 에너지 비용에 미치는 영향은 데이터 집약적인 애플리케이션과 대화형 애플리케이션 모두에서 유사합니다.
표 5는 MPTCP가 일반적으로 SPTCP에 비해 CPU 활용률이 높다는 것을 보여줍니다. MPTCP는 7/32 시나리오에서만 NU를 감소시킵니다. 5는 대화형 애플리케이션을 포함하고 2는 데이터 집약적인 애플리케이션을 포함합니다. MPTCP를 선호하는 위치는 다시 Wb Lb입니다. 그러나 NU와 성능 또는 에너지 효율 사이에는 강력한 상관 관계가 없습니다. MPTCP가 NU를 감소시키는 7가지 시나리오 중 성능은 2개에서만 향상되고, 에너지 효율성은 1개, 두 메트릭 모두 1개에서만 향상됩니다. NU가 높으면 일반적으로 CPU 에너지 소비가 증가하지 않습니다. 특히 MP-LTE의 경우 총 에너지에 대한 CPU 에너지 소비의 비율이 대부분의 시나리오에서 네 가지 구성 중 가장 낮습니다. 표 4에서 알 수 있듯이 대부분의 시나리오에서 총 에너지 비용 증가는 주로 두 NIC의 결합된 사용으로 인한 Edata 증가에서 비롯됩니다.
우리가 아는 한, 이 작업은 성능, 에너지 소비 및 CPU 사용률에 미치는 영향을 공동으로 고려하여 "스마트폰에서 MPTCP가 언제 유익합니까?"라는 질문에 대한 답을 찾는 첫 번째 작업입니다. 우리는 다양한 유형의 실제 Android 애플리케이션과 다양한 네트워크 조건을 고려하여 광범위한 실험 연구를 통해 이 질문에 답합니다. 우리의 결과는 실제로 스마트폰 앱에서 MPTCP의 이점이 상당히 제한적이라는 것을 보여줍니다. 특히 대화형 앱의 경우 또는 이기종 네트워크 조건에서 MPTCP는 실제로 성능과 에너지 소비 모두에 해를 끼칠 수 있습니다. 우리는 우리의 연구 결과가 스마트폰 설계자와 모바일 앱 개발자에게 사용자 경험을 개선하고 스마트폰 배터리 수명을 연장하는 데 있어 귀중한 통찰력을 제공한다고 믿습니다.