Managing GPU Buffers for Caching More Apps in Mobile Systems

Total Page:16

File Type:pdf, Size:1020Kb

Managing GPU Buffers for Caching More Apps in Mobile Systems Managing GPU Buffers for Caching More Apps in Mobile Systems Sejun Kwon Sang-Hoon Kim Sungkyunkwan University KAIST [email protected] [email protected] Jin-Soo Kim Jinkyu Jeong Sungkyunkwan University Sungkyunkwan University [email protected] [email protected] ABSTRACT hardware. Modern mobile systems cache apps actively to quickly re- spond to a user’s call to launch apps. Since the amount of Memory is one of the most important resources to be man- usable memory is critical to the number of cacheable apps, aged carefully in mobile systems to satisfy the demands it is important to maximize memory utilization. Mean- within its limited capacity. Many mobile platforms (e.g., while, modern mobile apps make use of graphics process- Android) provide app cachingas a means to provide high ingunits (GPUs) to accelerate their graphicoperations and responsiveness of app launching. Caching an app means to to provide better user experience. In resource-constrained keep the app in memory in a paused state instead of killing mobile systems, GPU cannot afford its private memory but it when a user leaves the app, since launchingthe app from shares the main memory with CPU. It leads to a consid- spawninga new process takes a longtime due to the initial- erable amount of main memory to be allocated for GPU ization overheads in the app and the system. Accordingly, buffers which are used for processingGPU operations. These when a user wants to use the cached app again, the app GPU buffers are, however, not managed effectively so that can quickly respond to the user’s call by resumingexecution inactive GPU buffers occupy a large fraction of the memory rather than beingrestarted from scratch. Therefore, it is and decrease memory utilization. crucial to cache as many apps as possible with a given limited amount of memory. Since cachingan app costs the memory This paper proposes a scheme to manage GPU buffers to allocated to the app, many studies have been proposed to increase the memory utilization in mobile systems. Our improve the memory utilization of the limited memory space scheme identifies inactive GPU buffers by exploitingthe thereby increasingthe number of cached apps [3, 10, 14, 16]. state of an app from a user’s perspective, and reduces their memory footprint by compressingthem. Our sophisticated Amongthese previous studies, compressingin-memory data design approach prevents GPU-specific issues from causing is a compellingsolution for increasingthe memory utiliza- an unpleasant overhead. Our evaluation on a runningpro- tion. Due to the app caching, a large portion of memory totype with realistic workloads shows that the proposed is actually inactive but allocated for keepingthe state of scheme can secure up to 215.9 MB of extra memory from cached apps. By compressingsuch inactive memory, the sys- 1.5 GB of main memory and increase the average number of tem can secure more free memory and utilize it for caching cached apps by up to 31.3%. more apps, cachingmore file data, and so forth. In practice, many smartphone manufacturers have been employingsimi- 1. INTRODUCTION lar approaches in their state-of-the-art smartphones [21, 22]. Recently, mobile systems, such as smartphones and tablets, Android, one of the most popular mobile system platforms, have been overtakingPCs in personal computingenviron- also encourages adopting the memory compression in low ments. Due to the adoption of open platforms, users can memory conditions [3]. easily download and run applications (or apps for short) whichever they want to use from app stores [24]. In this However, the approaches to compressinginactive memory regard, it is important in mobile systems to carefully man- data, which are usually referred to as a compression cache, age underlying resources so that the demands for running miss an opportunity for securingmore memory. The com- many and various apps are satisfied on resource-constrained pression cache has been targeting virtual memory (VM) pages which contain stacks and heaps of apps. In mod- ern mobile systems, many apps leverage a graphics process- ing unit (GPU) to accelerate graphic operations for a high- quality user interface and a realistic 3-D graphic scenery, which requires a large amount of GPU buffers along with the VM pages. These GPU buffers, however, are managed in a different way from the VM pages so that the conven- tional compression cache cannot track nor compress unused GPU buffers. 978-1-4673-8079-9/15/$31.00 ©2015 IEEE 207 This paper proposes a scheme to compress the unused GPU CPU GPUCPUCCPUPU CPUCPUCPU buffers to secure more free memory. Unlike VM pages, GPU Main page GPU pageppagepageage pagepagepage CPU Memory Memory table it is difficult to select inactive GPU buffers since the in- tabletablettableable tabletabletable put/output memory management unit (IOMMU) page table with which GPU accesses a GPU buffer does not provide the CPUCCPUPU CPUCCPUPU functionality to track page access. Moreover, the traditional IOMMU Main Process GPU pageppageage pageppageage CPU demand paging approach cannot be applied to GPU buffers page Memory page table ttabletableable since GPUs are usually incapable of recoveringfrom a page tabletabletable table fault [19]. For these reasons, our scheme exploits the state of an app from a user’s perspective. If an app goes to the Figure 1: Shared memory architecture common in background, it implies that the GPU buffers belonging to mobile systems the app become inactive since the background app is invisi- ble to a user and does not incur graphic operations usually. Process Thus, the GPU buffer of the app can be compressed to re- duce its memory footprint. If the app is turninginto the Process GPU buffers page foreground, it indicates that any compressed GPU buffers Buffer pages table should be decompressed since the buffers are about to be 1M 64K 4K active. In addition, we carefully manage the amount of com- IOMMU pressed GPU buffer to control the unfairness caused by the page significant variance in the GPU buffer size among apps. table The proposed scheme is implemented on a Google Nexus 5 Figure 2: Components related to GPU buffers smartphone runningthe Android platform, and is evaluated with various popular applications. Evaluation results show that the proposed scheme can provide up to 215.9 MB of reports have revealed that app usage has temporal local- extra memory, which increases the average number of cached ity [9, 20, 23, 26]. In this sense, the framework maintains apps by up to 31.3 % without imposingsignificant overheads an LRU list of cached apps, named a cached app list,and associated with compression and decompression. estimates the importance of an app based on the LRU dis- tance of the app in the list. The estimated importance is The rest of this paper is organized as follows. The following provided to an in-kernel memory reclamation module called section describes the background and related work. Sec- Low Memory Killer (LMK). When the free memory in a tion 3 presents the motivation of this work. Section 4 de- system is low, LMK terminates the least important app and scribes the proposed scheme. Section 5 shows the experi- reclaims the memory associated with the app. mental results of the proposed scheme usinga runningpro- totype. Finally, this paper concludes in Section 6 with pro- An app might be cached or not according to the memory vidingthe future work. status and the recency of app use. An app is launched via app start if the app is not cached, or via app resume if the 2. BACKGROUND AND MOTIVATION app is cached. The app resume is considered more efficient than the app start in terms of user experience and energy 2.1 Background since the app start involves many software activities includ- 2.1.1 Process Management in Android ingspawninga process to host the app, loadingdata from a Android [2] is one of the most popular platforms for mobile storage device, and initializing the app. devices. It is comprised of the Android framework and the customized Linux kernel. The Android framework provides 2.1.2 GPU Buffer apps with a runtime environment on top of the kernel and A GPU buffer is a memory object that is used for the input manages the apps and the environment according to user and output of GPU operations. GPU reads data from a interactions. The kernel controls the access to hardware GPU buffer, processes it, and outputs a result to a GPU devices and manages system-wide resources such as CPU buffer. Thus, GPU buffers usually contain GPU commands, and memory. textures for surfaces, and frame buffers. Android manages apps according to the Android app life There are two types of GPU memory architectures according cycle [4] which is tailored to the user behavior on mobile to the location where the GPU buffers are allocated. One of devices. It is known that users interact with many apps the types is the private GPU memory architecture in which momentarily [9, 11, 23], which makes it burdensome for an GPU buffers are allocated from private GPU memory, which end-user to manage the life of an app explicitly. Instead, is very fast and optimized for concurrent access from many Android caches apps as longas the system has enoughfree GPU cores. This type of architecture is prevalent in tradi- memory, and terminates one or more cached apps automati- tional desktops and servers which demand very high GPU cally when the free memory is low. When a user leaves from performance, and most of the GPU memory management an app, the app is paused and sent to the background. If a studies have conducted on this architecture [15, 17, 18, 28]. user launches the app again, the app is brought back to the foreground immediately by resuming the app, thereby pro- In contrast, mobile systems usually employ a shared memory vidinga fast response time of an app launch.
Recommended publications
  • Social Media Analytics
    MEDIA DEVELOPMENT Social media analytics A practical guidebook for journalists and other media professionals Imprint PUBLISHER EDITORS Deutsche Welle Dr. Dennis Reineck 53110 Bonn Anne-Sophie Suntrop Germany SCREENSHOTS RESPONSIBLE Timo Lüge Carsten von Nahmen Helge Schroers Petra Berner PUBLISHED AUTHOR June 2019 Timo Lüge © DW Akademie MEDIA DEVELOPMENT Social media analytics A practical guidebook for journalists and other media professionals INTRODUCTION Introduction Having a successful online presence is becoming more and In part 2, we will look at some of the basics of social media more important for media outlets all around the world. In analysis. We’ll explore what different social media metrics 2018, 435 million people in Africa had access to the Internet mean and which are the most important. and 191 million of them were using social media.1 Today, Africa is one of the fastest growing regions for Internet access and Part 3 looks briefly at the resources you should have in place social media use. to effectively analyze your online communication. For journalists, this means new and exciting opportunities to Part 4 is the main part of the guide. In this section, we are connect with their › audiences. Passive readers, viewers and looking at Facebook, Twitter, YouTube and WhatsApp and will listeners are increasingly becoming active participants in a show you how to use free analytics tools to find out more dialogue that includes journalists and other community mem- about your communication and your audience. Instagram is bers. At the same time, social media is consuming people’s not covered in this guide because, at the time of writing, only attention: Time that used to be spent listening to the radio very few DW Akademie partners in Africa were active on the is now spent scrolling through Facebook, Twitter, Instagram, platform.
    [Show full text]
  • Awesomeness 01 BE YOU 1
    cre 11 Se ts to Awesomeness 01 BE YOU 1 BE YOU It’s easier to run your Twitter account if you can just be yourself. Of course if you are tweeting on behalf of a brand and there are several of you working on managing Twitter, it’s sometimes hard to be a “person” on Twitter. Big brands like Coca-Cola or McDonalds especially can’t realistically expect to have only one person represent their Twitter account. But smaller businesses (like ours - Top Left Design - @topleftdesign) d o benefit from having their REAL name along with their Twitter name. Some examples: www.twitter.com/B3Creative (real name James Marsh) www.twitter.com/StartLicensing (real name Ian Downes) www.twitter.com/Minervity (real name Richard Darell) www.twitter.com/PlainTalkingHR (real name Bina Briggs) www.twitter.com/mashable (real name Pete Cashmore) Or you can have a Twitter name that represents your name or nickname and also have your real name: www.twitter.com/gina_romero (Gina Romero) www.twitter.com/grattongirl (Sarah-Jayne Gratton) www.twitter.com/lorimcneeartist (Lori Mcnee) www.twitter.com/MamaBritt (Britt Michaelian) 02 USE YOUR FACE 2 YOUR PICTURE Your picture should be a cropped picture of your face. No point in having a full length as it shows up as a thumbnail on people’s Twitter feeds, and on their phone apps. So, you want to be recognisable. Also, surveys have shown that people prefer a picture of a face to a logo or a cartoon avatar. 03 DON’T JUST TWEET ABOUT YOURSELF The whole time.
    [Show full text]
  • Hootsuite Sprout Social Buffer Instagram Pinterest Analytics
    Tracking Social Media Data is essential to track all school engagement efforts. One of the best ways to know what your audience is interested in is to track and measure the performance of your various social media accounts. While managing social media accounts can be difficult, it does not have to be overwhelming. What tools are best for monitoring school social media accounts and viewing analytics? Here are a few you should take a closer look at: HootSuite Social media dashboards can help ensure success by enabling you to aggregate your content from several social media platforms, house it in one location, and keep everything clear and organized. Hootsuite offers a dashboard interface and syncs with Twitter, Facebook, LinkedIn, Google+, Four- square and Wordpress. You can create custom analytics reports, schedule posts/tweets, monitor social networks for mentions of your school, and more! Hootsuite has a mobile app for iPhone, iPad and An- droid. Cost? HootSuite offers a basic free plan but you can upgrade for more functionality. Sprout Social Sprout Social has a dashboard interface similar to HootSuite’s. It syncs with Twitter, Facebook, Google+ and LinkedIn. You can schedule, queue and publish posts right from the dashboard. Monitor- ing is easy with their inbox feature that aggregates all interactions. They also offer analytics (and cus- tomizable options). SproutSocial has a mobile app for iPhone, iPad and Android. Cost? Anyone can sign up for a 30-day free trial, but after that period you must choose from three pricing tiers. Buffer Buffer has a dashboard interface and syncs with Facebook, Twitter and LinkedIn.
    [Show full text]
  • Free Post Scheduler for Social Media
    Free Post Scheduler For Social Media Photoactive and postulational Demetris perilling, but Rolf beauteously unreels her house-warming. When Tomas buccaneers his ateliers spans not hereinbefore enough, is Allen queasiest? Is Spiros always sentential and governmental when nominalized some portage very inexplicably and efficiently? Learn more businesses with social accounts to reporting for free for your processes. Schedule Posts, best publishing time, however. The old of creating your own videos, Blogger, therefore maintaining the online stature with the brand is extremely important ally the growth of party business. Work management processes that promote the best results. Very interesting if so. That for the csv file in. Subscribers have for social media? Hit of My Message. Analytic tools you can edit them, free plan is online presence and build posting time of social network, free social media has several of your team. The social media scheduler! Shows how social media scheduler is free trials and twitter and post, and post would be to attracting and on the free mobile app in. Buffer is simply software can manage social media sites, to provide social media features, the rag it learns about for target audiences. As across many social media marketing tools, analysis, right? Facebook posts for social media schedule posts to appear on their post? Download the media for related to consider using the discussion thread between your sked social. One graph the fundamental ways to do tasks more efficiently is long use tools. Awesome social media post may have free tool assists us run by tapping on facebook. Or, then Sked is the light thing in need.
    [Show full text]
  • Social Networking: a Guide to Strengthening Civil Society Through Social Media
    Social Networking: A Guide to Strengthening Civil Society Through Social Media DISCLAIMER: The author’s views expressed in this publication do not necessarily reflect the views of the United States Agency for International Development or the United States Government. Counterpart International would like to acknowledge and thank all who were involved in the creation of Social Networking: A Guide to Strengthening Civil Society through Social Media. This guide is a result of collaboration and input from a great team and group of advisors. Our deepest appreciation to Tina Yesayan, primary author of the guide; and Kulsoom Rizvi, who created a dynamic visual layout. Alex Sardar and Ray Short provided guidance and sound technical expertise, for which we’re grateful. The Civil Society and Media Team at the U.S. Agency for International Development (USAID) was the ideal partner in the process of co-creating this guide, which benefited immensely from that team’s insights and thoughtful contributions. The case studies in the annexes of this guide speak to the capacity and vision of the featured civil society organizations and their leaders, whose work and commitment is inspiring. This guide was produced with funding under the Global Civil Society Leader with Associates Award, a Cooperative Agreement funded by USAID for the implementation of civil society, media development and program design and learning activities around the world. Counterpart International’s mission is to partner with local organizations - formal and informal - to build inclusive, sustainable communities in which their people thrive. We hope this manual will be an essential tool for civil society organizations to more effectively and purposefully pursue their missions in service of their communities.
    [Show full text]
  • Online Dating Apps As a Marketing Channel
    Quarto trim size: 174mm x 240mm The current issue and full text archive of this journal is available on Emerald Insight at: https://www.emerald.com/insight/2444-8494.htm Online dating Online dating apps as a marketing apps as a channel: a generational approach marketing channel Paulo Rita NOVA Information Management School (NOVA IMS), Universidade NOVA de Lisboa, Portugal 1 Ricardo Filipe Ramos Received 24 October 2019 Instituto Universitario de Lisboa (ISCTE-IUL), ISTAR-IUL, Lisboa, Portugal and Revised 8 April 2020 13 May 2020 CICEE, Universidade Autonoma de Lisboa, Lisboa, Portugal 18 May 2020 Sergio Moro Accepted 19 May 2020 Instituto Universitario de Lisboa (ISCTE-IUL), ISTAR-IUL, Lisboa, Portugal, and Marta Mealha and Lucian Radu Departamento de Ci^encias e Tecnologias da Universidade Autonoma de Lisboa, Universidade Autonoma de Lisboa, Lisboa, Portugal Abstract Purpose – This study aims to understand if an online dating app is considered an acceptable channel to conduct advertising activities and understand the differences between Generations X, Y and Z for such acceptance. Design/methodology/approach – A total of 411 Tinder users’ reactions were obtained and analyzed using text mining to compute the sentiment score of each response, and a Kruskal–Wallis H test to verify if there are statistical differences between each generation. Findings – The results showed positive acceptability toward the marketing campaign on Tinder, especially Z Generation. Nevertheless, the statistical analysis revealed that the differences between each generation are not statistically significant. Research limitations/implications – The main limitation relates to the fact that the participants, during the data collection, revealed their identification, perhaps leading to acquiescence bias.
    [Show full text]
  • Helpful Recipes for Automating Bits of Social Media
    Helpful Recipes for Automating Bits of Social Media We are all about working smarter here at Buffer. Our focus on improvement and efficiency has led us to blog smarter, share smarter, and approach problems and activities with a fresh perspective of getting more done as quickly and simply as possible. To that end, we love automation. We get a kick out of tools and apps that do some of our work for us, leaving us more time to invest elsewhere. Two of our favorite automation tools—IFTTT and Zapier—can help you coordinate and automate your marketing efforts in a variety of fun, unique ways. The former is a free service, the latter gives you your first five free and then switches to paid plans (Zapier has hundreds of connectable apps and services, compared to IFTTTs dozens). Here are a few of our favorites and some that might help you share a little more efficiently. Save links from favorite tweets to Pocket Save links from favorite tweets to Pocket! Try it! by bunnie This recipe grabs the first link in a tweet that you’ve favorited and adds the article to your Pocket, a read- it-later app. You can also save links in this way to Instapaper or Evernote, if you prefer those services. Buffer a tweet every time you favorite a story Pocket favorite to Buffer Try it! by toddejohnson Talk about a quick automation! I use this one regularly to add my favorite articles from Pocket straight to my Buffer queue. The recipe grabs the default text from Pocket (the title and url of the post), and I can easily hop back into Buffer later to tidy up my queue and customize the information I want.
    [Show full text]
  • Buffer - for Easy Posting to Social Media
    BUFFER - FOR EASY POSTING TO SOCIAL MEDIA Posting to your social media channel from your FarmCentric website is now easier than ever with Buffer! Buffer is a social media manager that allows you to post to all of your social media platforms with a single post. We’ve integrated Buffer into your FarmCentric tools to allow you easier management of your posts and access to analytics for your shared stories through the Buffer Dashboard. Buffer allows you individual level access, which is free to you! Individual accounts allow you to connect to Facebook, Twitter, LinkedIn, Google+, and Instagram using just one account or login. For most of our customers, this free level of access should be more than sufficient to meet your social media posting needs, however, if you need more access to multiple accounts on a single social media platform, you can sign up for Buffer’s Awesome or Enterprise level account which allows posting on 10 to 150 different accounts for each social media channel, as well as access to posting on Pinterest, RSS feeds, Calendar, and extended analytics. However you choose to use Buffer, you will experience seamless integration with FarmCentric content. CREATING A BUFFER ACCOUNT To begin, you will need to have an account created on each social media website that you plan to publish to. You will need the username and password for each of these accounts handy in order to connect to them through Buffer. Go to https://buffer.com and click the “Sign up for free” button. You can then choose to sign up one of four ways: o Sign up with your existing Twitter Account, o Sign up with your existing Facebook Account, o Sign up with your existing LinkedIn Account, OR o Create a new Buffer account using your email address and entering a unique password.
    [Show full text]
  • Social Media Plan Guide Science and Technology Directorate
    Social Media Plan Guide Science and Technology Directorate September 4, 2019 Table of Contents About the Social Media Plan Guide ........................................................................................ 3 1.0 How to Start Social Media Planning .................................................................................. 4 1.1 Gain Leadership Buy-In ....................................................................................................................................... 4 1.2 Form a Social Media Planning Team ................................................................................................................... 5 1.3 Define Your Organization’s Objectives ............................................................................................................... 6 1.4 Determine Audiences and Platforms .................................................................................................................. 7 2.0 How to Develop a Social Media Content Strategy ............................................................. 9 2.1 Characteristics of Effective Content Strategies ................................................................................................... 9 2.2 Content Planning .............................................................................................................................................. 13 2.3 Posting Frequency ............................................................................................................................................
    [Show full text]
  • 1. What Is Buffer? 2. Set Your Preferences
    Full article: http://www.marketingforowners.com/best-way-use-buffer-business/ 1. What is Buffer? A feature-rich social media management tool . Schedules content for social media with one click . Adds content to a pre-set queue that posts at even intervals throughout the day Has a free version . Free version limits you to storing no more than 10 posts at a time By default a full queue will distribute content over 2.5 days . Prevents you from posting stale content Set up your account online . You can also install Buffer extension for Chrome, Safari, or Firefox Free Android and iPhone app versions are also available 2. Set Your Preferences Sign up using a social media account you want to connect to (we recommend Twitter) Organise, customise, and schedule your content via the Buffer dashboard . Content: Create posts (e.g. a tweet) Your tweet will be placed in a queue . Analytics: Track your recent posts and see how well they’re performing Monitor at Reach and Replies in particular Re-queue popular posts straight from Analytics section . Schedule: Adjust time zone and customize post frequency By default, tweets will go out 4 times a day, spread evenly throughout the day from around 9 a.m. to 8 p.m. in your time zone Post time-sensitive content immediately 1 www.MarketingForOwners.com . Settings: Link shortener Add team members (premium only) Reconnect your account you’re having trouble Empty your queue 3. Tips Look for good evergreen content to queue, especially if your Buffer queue stretches over several days Use an RSS reader like Feedly to curate social media content .
    [Show full text]
  • Top Social Media
    TOP SOCIAL MEDIA 2017 Edition SOCIAL MEDIA NETWORKS Social Media networks you can utilize for your business marketing. FACEBOOK TWITTER INSTAGRAM YOUTUBE Pricing: $0, Pricing: $0, Pricing: $0, Pricing: $0 Pricing varies on advertising Pricing varies on advertising Pricing varies on advertising Major Features(s): Major Features(s): Major Features(s): · A very user friendly interface Major Features(s): · Seamlessly combine. · Photo albums & older posts · Easy to make new contacts to help manage Facebook, Twitter, Instagram and remain on your wall. & extend your social circle Twitter, Linkedin and Google+ Facebook · Can post multiple photos. beyond your friends. · Smartbox inbox to view all · Visually appealing · Can be as wordy ·Posts, or “tweets,” enjoyed the messages your various · Photo filters and easy to use as you wish. by your followers are often social media channels · The ability to market to the · Businesses are even using rebroadcast as re-tweets. Major Drawback(s): younger demographic their Facebook Page as their Major Drawback(s): · YouTube has a vast amount of · Can post multiple photos blogging platform. · Tweets are a moment in rules that need to be adhered so · Utilize Instagram stories time, then lost in a user’s that your partnership can maintain Major Drawback(s): · Can post engaging video Twitter feed a good standing , The amount of · Setup of a Facebook Page is · Limited to 140 Major Drawback(s): rules restricts some aspects of what labor intensive, especially if characters for a tweet · Only available for you can do
    [Show full text]
  • Tinder Push Notifications Not Working
    Tinder Push Notifications Not Working Only Seamus compound or retch some suggesters awkwardly, however restored Redmond chunder veryethically stag. or Stillman yawns. causewayFolkloric Graehme whopping reapportion if indescribable her strenuosity Lazar print-out so harassingly or articulated. that Fons appease Bob swipes Alice right too. Enter those same contact details that you used to pie your profile, show personalized content and targeted ads, and the invalidated device token should appear on the jury service. Admin can choose Kilometers or Miles for distance filter. Was pit a holy conversation with making plans to meet but then she disappears. How do but cancel my Tinder Plus subscription? How can and sign request for Bumble Boost? This finding is reported by the WSJ, including notifications. Buy have the stocks run out! Not seeing Android notifications show fall on our phone? See possible date how a raid to gauge how you building around the tough person, slapfights, another picture or two of yourself but maybe a meme for get good word. Open the Mac App Store can buy and download apps. Push notifications are made capital of several elements. Hinge lets you select those few more factors in your profile than Tinder or Bumble like your Download. Rio de Janeiro or Sao Paolo. Hey guys, access we see who liked or favourited you, make return visitors? WHAT facility MY MOVE MINUTES AND HEART POINTS BASED ON? Open your Tinder as you normally do. It allows you lease share information to popular social networks. Get our newsletter in your inbox twice a week. While other apps continue button appear none the market, Quora and Yahoo Answers, and sole company called Buzz Humble sells this information to people looking above their spouses on the platform.
    [Show full text]