چکیده
سیستم عامل های شبکه های اجتماعی شیوه برقراری ارتباط و تعامل بین افراد را به سرعت تغییر داده اند. این شبکه ها موجب به وجود آمدن جوامع دیجیتال و مشارکت افراد در آنها و همچنین بازنمایی، استناد و پیدایش ارتباطات اجتماعی می شوند. به عقیده ما، هر چه نرم افزارها پیشرفته تر شوند، کاربران راحت تر می توانند خدمات، منابع و داده های خود را از طریق شبکه های اجتماعی به اشتراک گذارند. به منظور اثبات این مسئله، یک رایانش ابری اجتماعی را ارائه می دهیم که در آن فراهم سازی زیربنای ابری از طریق ارتباطات دوستانه صورت می گیرد. در یک رایانش ابری اجتماعی، دارندگان منبع ظروف مجازی موجود در رایانه های شخصی یا ابزارهای هوشمند خود را در شبکه های اجتماعی خود ارائه می دهند. با این حال، از آن جا که ممکن است کاربران دارای ساختارهای اولویت پیچیده ای در مورد کسانی باشند که تمایل دارند منابع خود را با آنان به اشتراک گذارند، از طریق شبیه سازی به بررسی این نکته می پردازیم که چگونه می توان منابع را در اختیار جامعه ای اجتماعی قرار داد که تلاش می کند منابع را به دیگران ارائه دهد. یافته های اصلی این تحقیق چگونگی بهره وری از شبکه های اجتماعی در ایجاد زیرساخت های رایانش ابری و اختصاص منابع با وجود اولویت های اشتراک گذاری کاربر را نشان می دهد.
1. مقدمه
به دلایل زیادی، به خصوص به خاطر توانایی آن در کاهش هزینه های تحمیلی بر کاربران از طریق بهره وری از اقتصاد مقیاس برای فراهم سازی زیرساخت، سیستم های عامل و نرم افزار به عنوان خدمات، رایانش ابری تحسین زیادی را برانگیخته است. ارائه دهندگان زیرساخت، نظیر Amazon Elastic Compute Cloud (EC2) کاربران را از شر مشکلات مرتبط با خرید و نگهداری از تجهیزات رایانه ای نجات می دهند؛ در عوض، می توان منابع رایانه ای را در اختیار متخصصان قرار داد و کاربران می توانند به گنجینه نامحدودی از منابع دسترسی داشته باشند. علی رغم این مزایا، بسیاری از کاربران تجاری و نهایی بر اثر مجموعه ای از ناپایداری های درک شده که در مطالعات متعددی شناسایی شده اند، سرخورده و ناراحت شده اند. مسئله اصلی نکات مربوط به اعتماد و پاسخگویی بین کاربران و ارائه دهندگان منابع می باشد. در این زمینه، اعتماد و پاسخگویی جنبه های مختلف متعددی، نظیر امنیت، حریم خصوصی، منش های اخلاقی، شفافیت، حفاظت از حقوق و مسائل مربوط به جبران خسارت را در برمی گیرد. رسیدگی به این مسائل مسئولیت اقبل ملاحظه ای است و از این رو، برنامه های تحقیقاتی بین المللی متعددی آغاز شده اند که به پوشش مواردی نظیر ارائه دهنده گواهی و توافق در مورد سطح خدمات رسانی می پردازند.
در این مقاله، به استدلال در مورد رویکرد جایگزینی برای برقراری اعتماد و پاسخوگویی در سیستم های عامل ابری می پردازیم: ابری اجتماعی؛ و از رویکرد جدیدی مبتنی بر تسهیل در به اشتراک گذاری منابع حمایت می کنیم.
یک ابر اجتماعی منبع و خدماتی است که چارچوبی را به اشتراک می گذارد که از روابط ایجاد شده بین اعضای یک شبکه اجتماعی استفاده می کند. این ابر محیطی پویا است که از طریق آن می توان، بر اساس سطوح ضمنی اعتماد که فراتر از ارتباطات بین فردی کدگذاری شده به صورت دیجیتال در شبکه ای اجتماعی هستند، طرح های تأمین ابرمانند جدیدی را ایجاد نمود. می توان سیستم های عامل شبکه اجتماعی را به عنوان واسطه به دست آوردن زیربنای ابری از طریق استفاده گسترده، اندازه و میزان کاربرد آنها در جامعه مدرن برانگیخت. برای مثال، در سال 2012، تعداد کاربران فیس بوک از یک میلیارد نفر گذشت و این شبکه نشان داد که 6 درجه آزادی Milgram در شبکه های اجتماعی ممکن است در واقع کمتر از 4 باشد. همچنین، کاربران مدت زمانی طولانی را برای سیستم های عامل های شبکه اجتماعی صرف می کنند- بر اساس نتایج به دست آمده از تحقیقی که اخیرا انجام شده است، کاربران اینترنت در سراتاسر جهان از هر 7 دقیقه، 1 دقیقه را در اینترنت صرف می کنند. سرمایه اجتماعی محاسباتی در دسترس نیز قابل توجه می باشد: اگر تنها 0.5% از کاربران فیس بوک زمان CPU در منابع رایانه شخصی خود فراهم می کردند، قدرت بالقوه محاسباتی در دسترس با ابرکامپیوتر www.top500.org قابل مقایسه می بودند. نمونه های چنین به اشتراک گذاری شامل موارد زیر است: 25 سال دسترسی به RAM بدون استفاده از CPU با Condor، 16 سال رایانش داوطلبانه از زمان پروژه Great Internet Mersenne Prime Search و پروژه جدیدتر Boinc، چون آنها نشان می دهند که کاربران مایل هستند تا منابع رایانه شخصی خود را به دلایل خیرخواهانه در اختیار دیگران قرار دهند.
دیدگاه ما در مورد ابر اجتماعی مبتنی بر نیاز افراد یا گروه ها به در دسترس داشتن منابعی است که مالک آن نیستند، اما می توانند از طریق همتایان مرتبط با خود، به آنها دسترسی داشته باشند. در این مقاله، نوعی از رایانش ابری اجتماعی را ارائه می دهیم که سیستم عاملی برای به اشتراک گذاری منابع زیربنایی در شبکه ای اجتماعی است. با استفاده از رویکرد ما، کاربران می توانند نرم افزار واسطه ای را دریافت و نصب نمایند، شبکه اجتماعی شخصی خود را از طریق فیس بوک گسترش دهند، و به وسیله یک اتاق پایاپای اجتماعی منابع خود را در اختیار دوستان خود قرار داده و از منابع آنها نیز استفاده نمایند. ما پیش بینی می کنیم که منابع موجود در ابر اجتماعی به اشتراک گذاشته شوند، چون آنها بلااستفاده و بی فایده بوده و یا به صورت نوع دوستانه ای در دسترس قرار گرفته اند.
در آخرین اقدام پژوهشی ما، که در آن ابتدا نظریه رایانش ابری را ارائه دادیم، اثبات مفهوم ارائه شده ما رایانش ابری اجتماعی است. آن نمونه اصلی مبتنی بر مدل اعتباری مجازی برای کنترل بر تبادلات و جلوگیری از سوءاستفاده است. با این حال، یکی از جنبه های اصلی ابر اجتماعی مسئله به اشتراک گذاری منابع و نه فروش آنها است. در این مقاله، به بررسی مجدد مدل تخصیص پرداخته و از تبادلات صرفا اقتصادی برای مدلی که بر انتخاب کاربر تأکید می کند، فاصله گرفته ایم. به بیان دقیق تر، به خاطر مبنای شبکه اجتماعی ابر اجتماعی، کاربران تمایلات آشکاری در مورد کسانی دارند که منابع خود را در اختیار آنها قرار داده و نیز از منابع آنها استفاده می کنند. برای حمایت از تمایلات کاربران، الگوریتم های متعددی را برای تخصیص منبع مبتنی بر تمایلات دوسویه پیاده می کنیم. با مقایسه مدت زمان اجرای این الگوریتم ها در می یابیم که برای تعداد زیادی از شرکت کنندگان و تخصیص های رایج، ممکن است محاسبه تخصیص ها به صورت بلادرنگ عملی نباشد. زمانی که به خاطر محدودیت در مهاجرت، تخصیص مجدد غیرممکن باشد، اثرات مشارکت اتفاقی کاربر (یعنی تغییر عرضه و تقاضا) را نیز بررسی می کنیم. بنابراین، به معرفی شیوه اکتشافی پرداخته و عملکرد اقتصادی آنها را با الگوریتم های مبتنی بر معیارهایی نظیر رفاه اجتماعی و تخصیص منصفانه مقایسه می کنیم.
ادامه مقاله به صورت زیر تنظیم شده است: قسمت دوم به بیان مفهوم رایانش ابری اجتماعی، چالش های مرتبط با ایجاد آن و معماری آن می پردازد. بخش سوم به توصیف نحوه اجرای رایانش ابری اجتماعی می پردازد که مستلزم مؤلفه های اصلی و الگوریتم های انطباق تمایل است. در بخش چهارم، از طریق شبیه سازی رویکرد خود را ارزیابی کرده و به زمان اجرای تخصیص و عملکرد اقتصادی توجه می کنیم. در بخش 5، ب هطور خلاصه به کارهای مرتبط اشاره کرده و در بهش ششم نتیجه گیری می کنیم.
2. رایانش ابری اجتماعی
رایانش ابری اجتماعی به منظور فراهم ساختن دسترسی به قابلیت های متغیر رایانه ای طراحی شده که از طریق بافتی ابری فراهم شده که به کمک منابعی ایجاد شده که توسط ثروتمندانی که به صورت اجتماعی با یکدیگر در ارتباط هستند، به آنها تزریق می شود. ابر اجتماعی شکلی از ابر اجتماعی است که در آن منابع توسط اعضای جامعه ای اجتماعی فراهم و مورد استفاده قرار می گیرد. از طریق این زیربنای ابری، کاربران قادر هستند تا برنامه ها را بر اساس منابعی مجازی اجرا کنند که دسترسی به منابع ارائه شده، یعنی زمان CPU، حافظه و منبع ذخیره سازی، را ممکن می سازند. در این مدل، ارائه کنندگان مجری دستگا های مجازی سبک وزنی هستند که کاربران می توانند بر روی آنها برنامه های کاربردی، که به صورت بالقوه موازی هستند، را در منابع رایانه ای خود اجرا نمایند. در حالی که مفهوم رایانش ابری اجتماعی را می توان در مورد هر محیط مجازی سازی در این مقاله به کار برد، بیشتر به مجازی سازی برنامه نویسی سبک وزن (سطح کاربردی) تمرکز می کنیم، چون به میزان قابل توجهی هزینه ها و فشار کار فراهم کنندگان را کاهش می دهد؛ در [14]، استفاده از محیط مجازی سازی سبک وزن تری مبتنی بر Xen را موردبررسی قرار دادیم؛ با این حال، مشخص شد که زمان ایجاد و زمینه سازی VM نشان داده شد.
2.1 چالش ها
چالش های زیادی در جریان ایجاد ابر اجتماعی وجود دارد که لازم است با دقت مورد توجه قرار گیرد. در این قسمت، به طور خلاصه به چالش های اصلی متعددی اشاره می کنیم که به موارد زیر توجه می کنند: تسهیل فنی سیستم عامل ابر، گنجاندن و تعبیر کردن ساختارهای (شبکه) اجتماعی، طرح و اجرای مدل های اجتماعی و اقتصادی متناسب برای تسهیل تبادل و زیربنای سیستم عامل.
Abstract
Social network platforms have rapidly changed the way that people communicate and interact. They have enabled the establishment of, and participation in, digital communities as well as the representation, documentation and exploration of social relationships. We believe that as ‘apps’ become more sophisticated, it will become easier for users to share their own services, resources and data via social networks. To substantiate this, we present a social compute cloud where the provisioning of cloud infrastructure occurs through “friend” relationships. In a social compute cloud, resource owners offer virtualized containers on their personal computer(s) or smart device(s) to their social network. However, as users may have complex preference structures concerning with whom they do or do not wish to share their resources, we investigate, via simulation, how resources can be effectively allocated within a social community offering resources on a best effort basis. In the assessment of social resource allocation, we consider welfare, allocation fairness, and algorithmic runtime. The key findings of this work illustrate how social networks can be leveraged in the construction of cloud computing infrastructures and how resources can be allocated in the presence of user sharing preferences.
1 INTRODUCTION
CLOUD computing has garnered praise for many reasons, most notably due to its ability to reduce overheads and costs for consumers by leveraging economies of scale to provide infrastructure, platforms and software as services. Infrastructure providers such as amazon elastic compute cloud (EC2) rid users of the burdens associated with purchasing and maintaining computer equipment; instead compute resources can be out-sourced to specialists and consumers can obtain access to an “unlimited” supply of resources. Despite its benefits, many businesses and end users are put off by an array of (perceived) uncertainties, as identified in numerous studies (e.g., [1], [2]). Two key issues are the notions of trust and accountability between resource consumers and providers [3]. In this context, trust and accountability encapsulate several different aspects such as security, privacy, ethical practices, transparency, protection of rights, and issues concerning compensation. Addressing these concerns is a significant undertaking, and consequentially, many international research programs have emerged, covering issues such as provider certification and service level agreements.
In this paper we argue an alternative approach to establish trust and accountability in cloud platforms: a social cloud [4]; and advocate a novel preference-based approach to facilitate resource sharing.
A social cloud is “a resource and service sharing framework utilizing relationships established between members of a social network” [5]. It is a dynamic environment through which (new) cloud-like provisioning scenarios can be established based upon the implicit levels of trust that transcend the inter-personal relationships digitally encoded within a social network. Leveraging social network platforms as mediators for the acquisition of a cloud infrastructure can be motivated through their widespread adoption, their size, and the extent to which they are used in modern society. For example, Facebook surpassed 1 billion users in 2012,1 and has illustrated that Milgram’s 6 degrees of freedom in social networks [6] may in fact be as low as 4 [7]. Users also spend inexorable amounts of time “on” social network platforms—a recent study indicated up to 1 in every 5 minutes of time spent online by all Internet users worldwide [8]. The computational social capital available is also significant: if only 0.5 percent of Facebook users provided CPU time on their personal compute resources the potential computational power available would be comparable to a www. top500.org supercomputer [9]. Examples of such sharing include: the 25 years of cycle stealing with Condor [10], the 16 years of volunteer computing since the Great Internet Mersenne Prime Search2 and more recently Boinc [11]; which show users are willing to donate personal compute resources to “good” causes.
Our vision of the social cloud is motivated by the need of individuals or groups to access resources they are not in possession of, but that could be made available by connected peers. In this paper, we present a social compute cloud: a platform for sharing infrastructure resources within a social network. Using our approach, users can download and install a middleware (an extension to Seattle [12]), leverage their personal social network via a Facebook application, and provide resources to, or consume resources from, their friends through a social clearing house. We anticipate that resources in a social cloud will be shared because they are underutilized, idle, or made available altruistically.
In our earliest work [4], in which we first introduced the idea of the social cloud, our proof-of-concept was a social storage cloud. That prototype relied on a virtual credit model to regulate exchange and prevent freeloading. However a key aspect of a social cloud is the notion of sharing, not selling, resources. In this paper we have revisited the allocation model and moved away from a purely economic exchange to a model that emphasizes user choice. Specifically, due to the social network basis of a social cloud, users will have explicit preferences with whom their resources are allocated to, and from whom they consume resources. To support user preferences, we implement several algorithms for bidirectional preference-based resource allocation. We compare the runtime of these algorithms finding that for large numbers of participants and frequent allocations it may be impractical to compute allocations in real-time. We also study the effects of stochastic user participation (i.e., changing supply and demand) when instant reallocation may be impossible due to constraints on migration. We therefore introduce heuristics and compare their economic performance based on metrics such as social welfare and allocation fairness.
The rest of the paper is structured as follows: Section 2 presents the concept of a social compute cloud, the challenges with its construction, and its architecture. Section 3, describes the implementation of a social compute cloud entailing the core components and preference matching algorithms. In Section 4, we evaluate our approach (via simulation), placing a focus on allocation runtime and economic performance. We outline related work in Section 5 and conclude the paper in Section 6.
2 ASOCIAL COMPUTE CLOUD
A social compute cloud is designed to enable access to elastic compute capabilities provided through a cloud fabric constructed over resources contributed by socially connected peers. A social cloud is a form of community cloud (as defined in NIST’s definition of cloud computing [13]), as the resources are owned, provided and consumed by members of a social community. Through this cloud infrastructure consumers are able to execute programs on virtualized resources that expose (secure) access to contributed resources, i.e., CPU time, memory and disk/ storage. In this model, providers host sandboxed lightweight virtual machines (VM) on which consumers can execute applications, potentially in parallel, on their computing resources. While the concept of a social compute cloud can be applied to any type of virtualization environment in this paper we focus on lightweight programming (application level) virtualization as this considerably reduces overhead and the burden on providers. In [14] we explored the use of a more heavyweight virtualization environment based on Xen, however the time to create and contextualize VMs was shown to be considerable.
2.1 Challenges
There are many challenges in the construction of a social cloud that need to be carefully considered. In this section, we summarize several key challenges placing a focus on: the technical facilitation of the cloud platform, the inclusion as well as interpretation of social (network) structures, the design and implementation of appropriate socio-economic models for the facilitation of exchange as well as the platform infrastructure.
چکیده
1. مقدمه
2. رایانش ابری اجتماعی
2.1 چالش ها
2.2 طرح ریزی رایانش ابر اجتماعی
2.2.1 سیستم عامل رایانش ابر اجتماعی
2.2.2 تطبیق دهنده های اجتماعی و تمایلات کاربران
2.2.3 مدل اجتماعی- اقتصادی
3. اجرا
3.1 سیاتل
3.2 اجرای اتاق پایاپای اجتماعی
3.2.1 تلفیق شبکه اجتماعی
3.2.2 تعیین اولویت
3.2.3 تخصیص منبع اجتماعی
3.3 انطباق مبتنی بر اولویت
3.3.1 الگوریتم های انطباق
3.3.2 خدمات انطباق
4. ارزیابی
4.1 زمان اجرای الگوریتم تخصیص
4.2 ملاحظات مربوط به مشارکت تصادفی
4.3 بحث
5. تحقیقات مرتبط
6. نتیجه گیری و تحقیقات آتی
منابع
Abstract
1 INTRODUCTION
2 ASOCIAL COMPUTE CLOUD
2.1 Challenges
2.2 Architecting a Social Compute Cloud
2.2.1 A Social Compute Cloud Platform
2.2.2 Social Adapters and User Preferences
2.2.3 Socio-Economic Model
3 IMPLEMENTATION
3.1 Seattle
3.2 Implementing a Social Clearing House
3.2.1 Social Network Integration
3.2.2 Preference Assignment
3.2.3 Social Resource Allocation
3.3 Preference-Based Matching
3.3.1 Matching Algorithms
3.3.2 Matching Service
4 EVALUATION
4.1 Allocation Algorithm Runtime
4.2 Considerations for Stochastic Participation
4.3 Discussion
5 RELATED WORK
6 CONCLUSIONS AND FUTURE WORK
REFERENCES