TPE Necko/Projects/Socket Process Isolation: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(→‎Risk & Mitigation plan: add mitigation plan)
(add project status, add description for M0)
 
(3 intermediate revisions by the same user not shown)
Line 8: Line 8:
* Kershaw Chang
* Kershaw Chang
* Shih-Chiang Chien
* Shih-Chiang Chien
= Status =
[[File:Socket_Process_project_status.png|800px]]


= Roadmap =
= Roadmap =
{| class="wikitable"
|-
! Milestone !! Task !! Estimate Time in Weeks !! Actual Time in Weeks
|-
| M0 || Evaluation & Prototyping || 6 ||
|-
| M1 || Socket process basic implementation || 7 ||
|-
| M2 || HTTP/HTTPS adaption || 8 ||
|-
| M3 || Telemetry for HTTP/HTTPS adaption || 8 ||
|-
| M4 || Bugfix on Nightly 63 & Shell study on Beta 62 || 8 ||
|-
|}


= Scope =
= Scope =
* M0
* M0 - Evaluation & Prototyping
** Prototyping with UDPSocket
** Prototyping with UDPSocket
** Performance study on the additional process
** Performance study on the additional process
Line 18: Line 37:
* M1 - Firefox60 Nightly
* M1 - Firefox60 Nightly
** Prepare and land socket process behind a pref, default off
** Prepare and land socket process behind a pref, default off
** Prepare and land telemetry for the socket process shell study
** Prepare and land telemetry for the socket process shield study
* M2 - Firefox61 Nightly
* M2 - Firefox61 Nightly
** Shell study on the socket process overhead on Beta 60
** Shield study on the socket process overhead on Beta 60
** Prepare and land HTTP/HTTPS modification behind a pref
** Prepare and land HTTP/HTTPS modification behind a pref
** Default enable socket process on Nightly 61
** Default enable socket process on Nightly 61
* M3 - Firefox62 Nightly
* M3 - Firefox62 Nightly
** Continue landing HTTP/HTTPS modification and bugfix
** Continue landing HTTP/HTTPS modification and bugfix
** Prepare and land telemetry for the HTTP/HTTPS shell study
** Prepare and land telemetry for the HTTP/HTTPS shield study
* M4 - Firefox63 Nightly
* M4 - Firefox63 Nightly
** Shell study on the performance of the new HTTP/HTTPS architecture on Beta 62
** Shield study on the performance of the new HTTP/HTTPS architecture on Beta 62
** Default enable new HTTP/HTTPS architecture on Nightly 63
** Default enable new HTTP/HTTPS architecture on Nightly 63


Line 35: Line 54:
= Risk & Mitigation plan =
= Risk & Mitigation plan =
Socket process isolation will be landed behind a pref, therefore:
Socket process isolation will be landed behind a pref, therefore:
* Shell study will be employed on a proportion of Firefox users before to gather performance/stability data without affecting all users at once.
* [https://wiki.mozilla.org/Firefox/Shield/Shield_Studies Shield study] will be employed on a proportion of Firefox users before to gather performance/stability data without affecting all users at once.
* [https://wiki.mozilla.org/Firefox/Go_Faster Go Faster] add-on can be used to disable the feature on designated channel immediately when major regression happen after default on.
* [https://wiki.mozilla.org/Firefox/Go_Faster Go Faster] add-on can be used to disable the feature on designated channel immediately when major regression happen after default on.



Latest revision as of 02:02, 16 January 2018

Team members

EM: Shian-Yow Wu

Tech Lead: Shih-Chiang Chien

Implementation Team:

  • Cervantes Yu
  • Kershaw Chang
  • Shih-Chiang Chien

Status

Socket Process project status.png

Roadmap

Milestone Task Estimate Time in Weeks Actual Time in Weeks
M0 Evaluation & Prototyping 6
M1 Socket process basic implementation 7
M2 HTTP/HTTPS adaption 8
M3 Telemetry for HTTP/HTTPS adaption 8
M4 Bugfix on Nightly 63 & Shell study on Beta 62 8

Scope

  • M0 - Evaluation & Prototyping
    • Prototyping with UDPSocket
    • Performance study on the additional process
    • Architecture design for HTTP/HTTPS adaption
  • M1 - Firefox60 Nightly
    • Prepare and land socket process behind a pref, default off
    • Prepare and land telemetry for the socket process shield study
  • M2 - Firefox61 Nightly
    • Shield study on the socket process overhead on Beta 60
    • Prepare and land HTTP/HTTPS modification behind a pref
    • Default enable socket process on Nightly 61
  • M3 - Firefox62 Nightly
    • Continue landing HTTP/HTTPS modification and bugfix
    • Prepare and land telemetry for the HTTP/HTTPS shield study
  • M4 - Firefox63 Nightly
    • Shield study on the performance of the new HTTP/HTTPS architecture on Beta 62
    • Default enable new HTTP/HTTPS architecture on Nightly 63

Evaluation

Sandboxing TCP/UDP socket in a separate process

Risk & Mitigation plan

Socket process isolation will be landed behind a pref, therefore:

  • Shield study will be employed on a proportion of Firefox users before to gather performance/stability data without affecting all users at once.
  • Go Faster add-on can be used to disable the feature on designated channel immediately when major regression happen after default on.

Project Dashboard

Meta Bugs

Full Query
ID Summary Priority Status
1322426 [meta] Move all TCP/UDP network operations into a dedicated process P2 NEW

1 Total; 1 Open (100%); 0 Resolved (0%); 0 Verified (0%);


M1 bugs

Full Query
ID Summary Status Target milestone Assigned to Whiteboard
1416623 Create SocketProcessHost and corresponding IPC interfaces RESOLVED --- Kershaw Chang [:kershaw] [necko-triaged] [SOCK-PROC-M1]
1430041 Setup crash reporter on socket process RESOLVED --- Kershaw Chang [:kershaw] [necko-triaged][SOCK-PROC-M1]
1430042 Setup memory reporter on socket process RESOLVED --- Kershaw Chang [:kershaw] [necko-triaged][SOCK-PROC-M1]
1430045 Create NetworkPrefs for synchronizing important preference to socket process RESOLVED --- Cervantes Yu [:cyu] [:cervantes] [necko-triaged][SOCK-PROC-M1]
1430047 initialize SocketTransportService on socket process RESOLVED --- Kershaw Chang [:kershaw] [necko-triaged][SOCK-PROC-M1]
1430048 update online/offline status to socket process RESOLVED --- Kershaw Chang [:kershaw] [necko-triaged][SOCK-PROC-M1]
1430050 IPC to the socket process for DNS resolution RESOLVED --- Kershaw Chang [:kershaw] [necko-triaged][SOCK-PROC-M1]
1430538 Setup Gecko profiler on socket process RESOLVED --- Dragana Damjanovic [:dragana] [necko-triaged][SOCK-PROC-M1]
1430684 Setup telemetry on socket process RESOLVED --- Cervantes Yu [:cyu] [:cervantes] [necko-triaged][SOCK-PROC-M1]
1430695 add telemetry to monitor performance metrics/overhead of creating socket process NEW --- [necko-triaged][SOCK-PROC-M1]

10 Total; 1 Open (10%); 9 Resolved (90%); 0 Verified (0%);