Abstract
Mcp and msum are drop-in replacements for the standard cp and md5sum programs that utilize multiple types of parallelism and other optimizations to achieve maximum copy and checksum performance on clustered file systems. Multi-threading is used to ensure that nodes are kept as busy as possible. Read/write parallelism allows individual operations of a single copy to be overlapped using asynchronous I/O. Multi-node cooperation allows different nodes to take part in the same copy/checksum. Split file processing allows multiple threads to operate concurrently on the same file. Finally, hash trees allow inherently serial checksums to be performed in parallel. This paper presents the design of mcp and msum and detailed performance numbers for each implemented optimization. It will be shown how mcp improves cp performance over 27x, msum improves md5sum performance almost 19x, and the combination of mcp and msum improves verified copies via cp and md5sum by almost 22x
چکیده
برنامه هایmcp و msum را میتوان جایگزینی برای برنامه های استاندارد cp و md5sum دانست؛ در این برنامه ها، از چندین نوع تکنیک همسان سازی و بهینه سازی هایی در جهت رسیدن به یک کارائی بیشینه در پروسه ی کپی و چک سام بر روی سیستم های فایل خوشه بندی شده استفاده میشود. از تکنیک چند نخی نیز به منظور تضمین مشغول و درگیر نگه داشتن گره ها استفاده میشود. همسانی سازی پروسه ی خواندن/نوشتن باعث گردیده تا بتوان عملیات های مربوط به یک کپی را با استفاده از ورودی/خروجی ناهمگام مورد هم پوشانی قرار داد. مشارکت چندین گره نیز به ما اجازه داده تا بتوان از چندین گره در یک عملیات کپی/چک سام استفاده کرد. پردازش فایل تقسیم نیز این امکان را در اختیار چندین نخ قرار داده تا به صورت همزمان بتوانند بر روی یک فایل کار کنند. در نهایت، درخت های درهم ساز نیز اجازه ی انجام چک سام های سریال را به شکلی موازی به ما میدهند. در این مقاله قصد داریم طراحی mcp و msum را مورد بازبینی قرار داده و جزئیات مربوط به کارائی را برای هر نوع بهینه سازی که پیاده سازی کرده ایم ارائه دهیم. همچنین چگونگی بهبود 27 برابری cp توسط mcp و بهبود 19 برابری msum توسط mcp را نیز اثبات خواهیم کرد و بهبود 22 برابری ناشی از ترکیب mcp و msum با استفاده از cp و md5sum را نیز نشان خواهیم داد.
1-مقدمه
پروسه های کپی که بین سیستم های فایل محلی اتفاق میافتد را میتوان یکی از فعالیت های رایج روزمره در سیستم عامل ها دانست. این فایل ها همواره از یک محل به محل هایی که توسط سیستم ها قابل دسترسی میباشند، منتقل شوند. (که با استفاده از محدودیت های مربوط به توابع مختلف و/یا ذخیره سازی که مورد پشتیبانی و بازیابی قرار گرفته اند و یا به دلیل جابجایی یا ارتقای سخت افزار منتقل شده اند). از این رو بیشینه سازی پروسه ی کپی و همچنین چک سام هایی که یکپارچگی کپی ها را تضمین میسازد، میتواند برای کمینه سازی زمان بازگشت مربوط به فعالیت های کاربر یا مدیر بسیار مفید باشد...