You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit e5cb630
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: webinar.md
+39-45Lines changed: 39 additions & 45 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,24 +1,24 @@
1
-
-[Процесс](#org6dd6899)
2
-
-[Поток](#orgc9c961a)
3
-
-[Что можно узнать про процесс?](#org59af907)
4
-
-[создание процессов](#org765f9ae)
5
-
-[CPU-bound / IO-bound задачи](#orgcc64b3a)
6
-
-[GIL](#orgb689542)
7
-
-[GIL](#org316b855)
8
-
-[GIL](#orgbc00acd)
9
-
-[GIL](#org8b3d46a)
10
-
-[Практика](#orgf605c93)
11
-
-[Дополнительная литература](#org078e40d)
12
-
-[Что такое Celery?](#org2a8f169)
13
-
-[Практика запуска задач на Celery](#org99b935d)
14
-
-[Что такое map-reduce](#org05c4f7c)
15
-
-[Практика запуска map-reduce на pyspark](#org2cf3038)
16
-
-[Практика запуска map-reduce на pyspark](#orgbb64a65)
17
-
-[Вопросы-ответы](#orgae31ab3)
18
-
19
-
20
-
21
-
<aid="org6dd6899"></a>
1
+
-[Процесс](#org5462f95)
2
+
-[Поток](#orgee5cb08)
3
+
-[Что можно узнать про процесс?](#org0af10b3)
4
+
-[создание процессов](#org3fa51d9)
5
+
-[CPU-bound / IO-bound задачи](#org37135aa)
6
+
-[GIL](#orgdd6460d)
7
+
-[GIL](#org3bdf677)
8
+
-[GIL](#org87eb7e5)
9
+
-[GIL](#org285fe74)
10
+
-[Практика](#org0a693c4)
11
+
-[Дополнительная литература](#orge48836f)
12
+
-[Что такое Celery?](#org3a64cf7)
13
+
-[Практика запуска задач на Celery](#orgf34b2f0)
14
+
-[Что такое map-reduce](#org672c593)
15
+
-[Практика запуска map-reduce на pyspark](#org98a8d38)
16
+
-[Практика запуска map-reduce на pyspark](#org5394ae7)
17
+
-[Вопросы-ответы](#org9220784)
18
+
19
+
20
+
21
+
<aid="org5462f95"></a>
22
22
23
23
# Процесс
24
24
@@ -31,7 +31,7 @@
31
31
Переключение между процессами происходит на уровне ядра.
32
32
33
33
34
-
<aid="orgc9c961a"></a>
34
+
<aid="orgee5cb08"></a>
35
35
36
36
# Поток
37
37
@@ -41,7 +41,7 @@
41
41
Переключение между потоками может происходить как на уровне ядра, так и на уровне пользователя (процесса).
42
42
43
43
44
-
<aid="org59af907"></a>
44
+
<aid="org0af10b3"></a>
45
45
46
46
# Что можно узнать про процесс?
47
47
@@ -54,7 +54,7 @@ ls -l /proc/<PID>/
54
54
```
55
55
56
56
57
-
<aid="org765f9ae"></a>
57
+
<aid="org3fa51d9"></a>
58
58
59
59
# создание процессов
60
60
@@ -64,15 +64,15 @@ ls -l /proc/<PID>/
64
64
-**CreateProcess:** Win2k-системы
65
65
66
66
67
-
<aid="orgcc64b3a"></a>
67
+
<aid="org37135aa"></a>
68
68
69
69
# CPU-bound / IO-bound задачи
70
70
71
71
-**CPU-bound:** задачи, которые активно используют CPU. Арифметические операции, матричные вычисления, поиск строк, и т.д.
72
72
-**IO-bound:** задачи, связанные с вводом-выводом данных. Работа с сетью, с файловыми системами, с пользовательским вводом
73
73
74
74
75
-
<aid="orgb689542"></a>
75
+
<aid="orgdd6460d"></a>
76
76
77
77
# GIL
78
78
@@ -85,14 +85,14 @@ static PyThread_type_lock
85
85
```
86
86
87
87
88
-
<aid="org316b855"></a>
88
+
<aid="org3bdf677"></a>
89
89
90
90
# GIL
91
91
92
92
GIL гарантирует интерпретатору, что только один *поток* может быть запущен в текущий момент. Это сделано для безопасной работы управления памятью, вызова расширений написанных на других языках (на C).
93
93
94
94
95
-
<aid="orgbc00acd"></a>
95
+
<aid="org87eb7e5"></a>
96
96
97
97
# GIL
98
98
@@ -102,21 +102,21 @@ GIL гарантирует интерпретатору, что только о
102
102
- sys.getswitchinterval() # -> Python3
103
103
104
104
105
-
<aid="org8b3d46a"></a>
105
+
<aid="org285fe74"></a>
106
106
107
107
# GIL
108
108
109
109
GIL замедляет CPU-bound задачи. Старая реализация GIL очень плохо работала с *CPU-bound + IO-bound* задачами. <spanclass="underline"><spanclass="underline">[Пример](https://dabeaz.blogspot.com/2010/01/python-gil-visualized.html)</span></span>, да и новая не лучше.
3. Reduce — для каждого ключа выполнить некоторую функцию над всеми данными в этом ключе
160
160
161
161
162
-
<aid="org2cf3038"></a>
162
+
<aid="org98a8d38"></a>
163
163
164
164
# Практика запуска map-reduce на pyspark
165
165
166
166
*[тестовая сборка для работы с Hadoop](https://medium.com/analytics-vidhya/how-to-easily-install-hadoop-with-docker-ad094d556f11) (надо дополнительно поставить python на namenode)*
Copy file name to clipboardExpand all lines: webinar.org
+5-10Lines changed: 5 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -77,15 +77,10 @@
77
77
/[[https://medium.com/analytics-vidhya/how-to-easily-install-hadoop-with-docker-ad094d556f11][тестовая сборка для работы с Hadoop]] (надо дополнительно поставить python на namenode)/
0 commit comments