پایان نامه توسط نرم افزار و تصمیم گیری


Widget not in any sidebars

وارنیش متن باز است و تحت لیسانس بی اس دی در دسترس می باشد. پشتیبانی تجاری توسط نرم افزار وارنیش انجام می شود. اولین نسخه ی وارنیش در سال 2006، وارنیش 2.0 در سال 2008، وارنیش 3.0 در سال 2011 و وارنیش 4.0 در سال 2014 وارد بازار شد.
2-3-2 معماری
وارنیش داده را در حافظه ی مجازی ذخیره می کند و سیستم عامل را از عمل تصمیم گیری درمورد این که چه چیزی در حافظه وجود دارد و چه صفحه ای باید از دیسک خارج شود، رها می کند. فایده ی این کار است که از به وجود آمدن موقعیت هایی که سیستم عامل عمل کش کردن داده را شروع می کند درحالیکه آن داده توسط برنامه به دیسک انتقال پیدا کرده است، اجتناب می کند.
به علاوه وارنیش به شدت به نخ کشیده است، با هر ارتباط کلاینت به وسیله ی یک نخ جداگانه اداره می شود. هنگامی که حد مشخصی روی تعدادی از نخ های فعال در دسترس است، ارتباطات ورودی در صف سرریز قرار می گیرند. وقتی این صف به ارتباطات ورودی محدوده ی مشخص خودش دسترسی داشته باشد، رد خواهد کرد.
مکانیزم پیکربندی اصلی زبان پیکربندی وارنیش است، یک زبان مشخصه دامنهکه برای نوشتن تله هایی استفاده می شود که در نقاط بحرانی سازماندهی هر درخواست صدا زده می شوند. اغلب تصمیمات سیاسی که به کد وی سی ال واگذار می شوند، وارنیش را نسبت به شتاب دهنده های دیگر اچ تی تی پی منعطف تر و سازگارتر می سازد. وقتی یک اسکریپتوی سی ال بارگذاری می شود، به زبان سی ترجمه می شود، به یک شی مشترک توسط سیستم کامپایلر کامپایل می شود و سپس به صورت مستقیم به شتاب دهنده ای بارگذاری شود که می تواند بدون راه اندازی دوباره، دوباره پیکربندی شود.
تعدادی از پارامترهای زمان اجرا، کنترل کردن چیزهایی نظیر ماکسیمم و مینیمم تعداد نخ های کارکننده، تایم اوت های جدی و غیره است. یک واسط مدیریت خط فرمانها به این پارامترها اجازه می دهد که تعدیل شوند، و اسکریپت وی سی ال های جدید کامپایل شوند، بارگذاری شوند و فعال شوند، بدون راه اندازی دوباره ی شتاب دهنده.
به منظور کاهش تعداد سیستم کالها در مسیر سریع به یک مینیمم، داده ی لاگ در حافظه ی مشترک ذخیره می شود، و عمل بازبینی، فیلتر کردن، فرمت کردن و نوشتن داده ی لاگ به دیسک به برنامه ی جدا نمایندگی می دهد]31 [.
2-3-3 کارایی
درحالیکه وارنیش طراحی شد تا رقابت بین نخ ها به مینیمم کاهش یابد، ادعای نویسنده این است که کارایی آن به خوبی به کارگیری نخ پیهای سیستم است.
به علاوه، یک پیاده سازی ضعیف ممکن است یک رقابت غیرضروری اضافه کند که به موجب آن کارایی محدود شود. بنابراین پیشنهاد عمومی اجرای وارنیش روی محیط های برپایه ی لینوکس یا یونیکس است]19 [.
2-3-4 شما این کار را اشتباه انجام می دهید
فکر می کنید که در هنر کارآمدی سرور ماهر شوید؟باز هم فکر کنید.
شما باور می کنید اگر من ادعا کنم الگوریتمی که به مدت 46 سال به عنوان الگوریتم بهینه در کتاب ها بوده است و با جزییات فراوان توسط فرد نابغه ای مثل نوت آنالیز شده باشد و در تمام رشته های علوم کامپیوتر جهان تدریس شده باشد، می تواند به مقدار 10 بار سریع تر بهینه شود؟
حدود دو سال پیش من ارتباطم رو با بعضی از شرکت های خوب قطع کردم و شروع کردم به نوشتن درمورد یک تسریع دهنده اچ تی تی پی متن باز به نام وارنیش، که به صورت مقدماتی یک کش اچ تی تی پی است که جلوی وب سرورهای کند قرار می دهند. امروزه وارنیش توسط هر نوع وب سایتی اعم از فیس بوک، ویکیاو اسلش دات سایت مبهمی که مطمئنا تا به حال اسمش را نشنیده اید، استفاده می شود.
حدود 15 سال از سرپرستی کرنل بی اس دی آزاد می گذرد و اکنون من به کاربر ساده ای می مانم که دانش اندکی در مورد اتفاقات پشت سیستم کال ها دارد. یکی از مهم ترین دلایلم برای پذیرفتن پروپوزال وارنیش این بود که نشان دهم چگونه می توان یک الگوریتم سرور با کارایی بالا نوشت.
زیرا، به بیان کاملا واضح، اکثریت شما این کار را غلط انجام می دهید. نه تنها غلط به معنای ناقص بلکه به معنای اتلاف نیمی از کارایی یا حتی بیشتر.
اولین کاربر وارنیش یک روزنامه ی بزرگ نروژی به نام وی جی بود 12 ماشین درحال اجرای اسکویید خود را با 3 ماشین درحال اجرای وارنیش جایگزین کرد. ماشین های اسکویید صد در صد اشغال بودند، در حالیکه ماشین های وارنیش 90 درصد سی پی یوی آزاد برای تکان دادن دکمه های رقمی خود داشتند.
یک نسخه ی کوتاه از این داستان این است که وارنیش می داند که روی یک فلز برهنه اجرا نمی شود و تحت سیستم عاملی اجرا می شود که حافظه ی مجازی برپایه ماشین انتزاعی را فراهم می کند. برای مثال وارنیش مانع این حقیقت نمی شود که حافظه مجازی است و به صورت فعالانه از این قضیه بهره برداری می کند. 300 گیگابایت ذخیره ی پشتیبان، حافظه روی یک ماشین با کمتر از 16 گیگابایت رم نگاشت می شود که این نمونه بارزی است. کاربر برای 64 بیت فضای آدرس پول پرداخت کرده است و من برای استفاده از آن نمی ترسم.
یک تکلیف ویژه در کنار وارنیش، دور انداختن اشیا از درون کش است وقتی که مدت زندگی مجازی آن ها تمام شده است. این کار برای ساختمان داده هایی انجام می شود که می توانند کوچکترین شی کلیددار را از مجموعه کلی دریافت کنند.
یک مرور سریع از کاتالوگ پرش کارت باینری هیپ، نه تنها یک کارایی معامله از مرتبه لاگ ان را بازی می کند بلکه یک بالاسری متا داده از تنها یک اشاره گر برای هر شی دارد(اگر 10 میلیون + شی داشته باشید اهمیت زیادی دارد)
با بازخوانی با دقت، نوت تایید کرد که این انتخاب محسوسی بود و پیاده سازی جزیی بود.
در سفر اخیر با قطار شب به آمستردام، ذهنم سرگردان بود و به این فکر می کرد که نوت ممکن بود در مورد کارایی باینری هیپ گمراه کننده عمل کرده باشد، حتی به وسیله ی رتبه بزرگی. در مسیر خانه و همچنین درون قطار، شبیه سازی ای را نوشتم که ظن صحیح من را اثبات می کند.
قبل از اینکه نظریه پردازان سی اس قهوه شان در گلوشان بماند: نهراسید!
موقعیت پی به ان پی تغییر پیدا می کند، و من یک جریان سیستماتیک را در کیفیت دلایل نوت نیافتم. یافته های سی اس همانطور که آن را می شناسیم هنوز صحیح است. آن ها تنها مقدار کمی نامرتبط تر و غیرمفیدتر از آن چیزی هستند که فکر می کنید، حداقل با توجه به کارآمدی.
قدیمی ترین منابع برای باینری هیپ که تعیین کرده ام، متن کامپیوتر است، مقاله ی جی.دبلیو.جی.ویلیامزاست که در ژوئن 1964 با موضوع ارتباطات ای سی امو عنوان الگوریتم هیپ سورت-232 تالیف شده است. مشکل اینجاست که ویلیامز هم اکنون در دسترس نیست و تحلیل الگوریتمی آن نیز حتی قبل از تالیف منسوخ بود.