cornercorner
FeaturesPluginsDocs & SupportCommunityPartners

CND68RemoteFastSync

Revision as of 15:00, 6 November 2009 by Admin (Talk | contribs)
(diff) ← Older revision | Current revision (diff) | Newer revision → (diff)

Remote Fast Synchronization

Team

Dev: Vladimir Kvashin (VK; NB nick: vkvashin)
Lead: Maria Tishkova (MT; NB nick: mromashova)


Charter

  • Make file synchronization between user workstation and remote host fast.
  • Ease of set up (ideally no set up actions required from end user)

Goals

Non-metric goals:

  • After user switches a project to use a remote host, and code model starts parsing the project, no broken #includes appear, at least with standard #includes (non-standard ones are important either, but this is an issue of remote discovery rather than fast sync).

Metrics:

  • Build initial delay: delay after user presses "build" button and remote build starts.
  • Build slowdown: the slowdown of the remote build in comparison with the command-line build of the same project on the same remote host
  • Code model initial delay. In a situation when user adds a new host, while a project is already open - the delay between user switches the project to the newly created host and code model starts parsing the project.
  • Code model first parse slowdown: a maximal slowdown of first project parsing, in comparison with parsing of the same project targeted to localhost. (The slowdown can be caused by the absence of necessary header files on remote machine).

Target values:

  • For a fast network (for example, inside SPBDC local network):
  • Build initial delay <= 10 seconds
  • Build slowdown <= 10%
  • Code model initial delay <= 10 seconds
  • Code model slowdown <= 10%
  • For a slow network (for example, when accessing SWAN via VPN from home)
  • Build initial delay <= 15 seconds
  • Build slowdown <= 15%
  • Code model initial delay <= 15 seconds
  • Code model slowdown <= 15%


Design

Simplified mode

There might be remote hosts that set up in a way fast synchronization can not be used. These should be relatively rare cases. For these cases, a simplified synchronization mode should be used.

Such cases should be detected automatically, and simplified sync mode should be activated automatically as well. So user has just two options: (1) file sharing and (2) secure copy

All materials concerning the simplified mode are moved to a separate page

Full-fledged mode

See a separate page

Test Plan

  • Tests are based on JUnit, though probably won't be included into a standard suite.
  • Test projects: CLucene, MySQL, ACE


Schedule

Milestone Date Content
M0 Already done Setting goals and schedule
M1 July 30 Measurements for simplified mode
M2 Already done Simplified mode implementation
M3 August, 5 Technology investigations and prototyping for fast mode
M4 August, 12 Tests and measurements for fast mode
M5 September, 6 Fast mode implementation


Status and test results

  • M0 done
  • M1 done, not yet ran automatically
  • M2 done
  • M3 in progress
  • M4 not started
  • M5 not started

Design specifications

in progress...

IssueZilla

#165633 Remote Fast Synchronization

No special Status Whiteboard keyword