במדריך הזה מוסבר איך להריץ ניתוח גנומיקה של תא יחיד באמצעות Dask, NVIDIA RAPIDS ומעבדים גרפיים (GPU), שאפשר להגדיר ב-Dataproc. אפשר להגדיר את Dataproc להרצת Dask עם מתזמן עצמאי או עם YARN לניהול משאבים.
במדריך הזה מוגדר Dataproc עם מכונת JupyterLab מתארחת להרצת notebook עם ניתוח גנומיקה של תא יחיד. שימוש ב-Jupyter Notebook ב-Dataproc מאפשר לכם לשלב את היכולות האינטראקטיביות של Jupyter עם שינוי קנה המידה של עומסי העבודה ש-Dataproc מאפשר. בעזרת Dataproc, אפשר להרחיב את עומסי העבודה ממכונה אחת לכמה מכונות, שאפשר להגדיר בהן כמה מעבדי GPU שרוצים.
המדריך הזה מיועד למדעני נתונים ולחוקרים. אנחנו מניחים שיש לכם ניסיון ב-Python וידע בסיסי בנושאים הבאים:
מטרות
- יוצרים מכונת Dataproc שמוגדרים בה מעבדי GPU, JupyterLab ורכיבים בקוד פתוח.
- מריצים מחברת ב-Dataproc.
עלויות
במסמך הזה משתמשים ברכיבים הבאים של Google Cloud, והשימוש בהם כרוך בתשלום:
כדי ליצור הערכת עלויות בהתאם לשימוש החזוי, אפשר להשתמש במחשבון התמחור.
כשמסיימים את המשימות שמתוארות במסמך הזה אפשר למחוק את המשאבים שיצרתם כדי להימנע מחיובים נוספים. מידע נוסף זמין בקטע הסרת המשאבים.
לפני שמתחילים
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Dataproc API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
הכנת הסביבה
בוחרים מיקום למשאבים.
REGION=REGION
יצירת קטגוריה של Cloud Storage.
gcloud storage buckets create gs://BUCKET --location=REGION
מעתיקים את פעולות ההפעלה הבאות לקטגוריה.
SCRIPT_BUCKET=gs://goog-dataproc-initialization-actions-REGION gcloud storage cp ${SCRIPT_BUCKET}/gpu/install_gpu_driver.sh BUCKET/gpu/install_gpu_driver.sh gcloud storage cp ${SCRIPT_BUCKET}/dask/dask.sh BUCKET/dask/dask.sh gcloud storage cp ${SCRIPT_BUCKET}/rapids/rapids.sh BUCKET/rapids/rapids.sh gcloud storage cp ${SCRIPT_BUCKET}/python/pip-install.sh BUCKET/python/pip-install.sh
יצירת אשכול Dataproc עם JupyterLab ורכיבים בקוד פתוח
- יצירה של אשכול Dataproc.
gcloud dataproc clusters create CLUSTER_NAME \ --region REGION \ --image-version 2.0-ubuntu18 \ --master-machine-type n1-standard-32 \ --master-accelerator type=nvidia-tesla-t4,count=4 \ --initialization-actions BUCKET/gpu/install_gpu_driver.sh,BUCKET/dask/dask.sh,BUCKET/rapids/rapids.sh,BUCKET/python/pip-install.sh \ --initialization-action-timeout=60m \ --metadata gpu-driver-provider=NVIDIA,dask-runtime=yarn,rapids-runtime=DASK,rapids-version=21.06,PIP_PACKAGES="scanpy==1.8.1,wget" \ --optional-components JUPYTER \ --enable-component-gateway \ --single-node
ל-cluster יש את המאפיינים הבאים:
-
--region: האזור שבו נמצא האשכול. --image-version:2.0-ubuntu18, the cluster image version-
--master-machine-type:n1-standard-32, סוג המכונה הראשי. -
--master-accelerator: הסוג והמספר של יחידות ה-GPU בצומת הראשי, ארבע יחידות GPUnvidia-tesla-t4. -
--initialization-actions: הנתיבים ב-Cloud Storage לסקריפטים של ההתקנה שמתקינים מנהלי התקנים של GPU, Dask, RAPIDS ותלות נוספת. -
--initialization-action-timeout: הזמן הקצוב לתפוגה של פעולות האתחול. -
--metadata: מועבר לפעולות האתחול כדי להגדיר את האשכול עם מנהלי התקנים של NVIDIA GPU, מתזמן עצמאי ל-Dask ו-RAPIDS בגרסה21.06. -
--optional-components: הגדרת האשכול עם הרכיב האופציונלי Jupyter. -
--enable-component-gateway: מאפשר גישה לממשקי משתמש באינטרנט באשכול. -
--single-node: מגדיר את האשכול כצומת יחיד (ללא צמתים של עובדים).
גישה ל-Jupyter Notebook
- פותחים את הדף Clusters במסוף Dataproc Google Cloud .
פתיחת הדף Clusters - לוחצים על האשכול ואז על הכרטיסייה Web Interfaces (ממשקי אינטרנט).
- לוחצים על JupyterLab.
- פותחים טרמינל חדש ב-JupyterLab.
משכפלים את
clara-parabricks/rapids-single-cell-examplesהמאגר ומבצעים checkout של הענףdataproc/multi-gpu.git clone https://github.com/clara-parabricks/rapids-single-cell-examples.git git checkout dataproc/multi-gpu
ב-JupyterLab, מנווטים אל המאגר rapids-single-cell-examples/notebooks ופותחים את ה-Jupyter Notebook 1M_brain_gpu_analysis_uvm.ipynb.
כדי לנקות את כל הפלט ב-notebook, בוחרים באפשרות Edit > Clear All Outputs.
קוראים את ההוראות בתאים של המחברת. המחברת משתמשת ב-Dask וב-RAPIDS ב-Dataproc כדי להדריך אתכם בתהליך עבודה של RNA-seq של תא יחיד במיליון תאים, כולל עיבוד והצגה חזותית של הנתונים. מידע נוסף זמין במאמר האצת ניתוח גנומי של תא בודד באמצעות RAPIDS.
הסרת המשאבים
כדי לא לצבור חיובים לחשבון Google Cloud על המשאבים שבהם השתמשתם במדריך הזה, אתם יכולים למחוק את הפרויקט שמכיל את המשאבים או להשאיר את הפרויקט ולמחוק את המשאבים בנפרד.
מחיקת הפרויקט
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
מחיקת משאבים בודדים
- מוחקים את אשכול Dataproc.
gcloud dataproc clusters delete cluster-name \ --region=region
-
מוחקים את הקטגוריה:
gcloud storage buckets delete BUCKET_NAME
המאמרים הבאים
- Dataproc
- כדאי להעמיק את הקריאה ולהכיר דוגמאות לארכיטקטורות, תרשימים, מדריכים ושיטות מומלצות. כל אלה זמינים במרכז הארכיטקטורה של Cloud.