DiFX Overview Adam Deller NRAO 3rd DiFX workshop, Curtin University, Perth.

Slides:



Advertisements
Similar presentations
Network II.5 simulator ..
Advertisements

1/1/ / faculty of Electrical Engineering eindhoven university of technology Speeding it up Part 3: Out-Of-Order and SuperScalar execution dr.ir. A.C. Verschueren.
File Consistency in a Parallel Environment Kenin Coloma
Digital FX Correlator Nimish Sane Center for Solar-Terrestrial Research New Jersey Institute of Technology, Newark, NJ EOVSA Technical Design Meeting.
CS4432: Database Systems II Buffer Manager 1. 2 Covered in week 1.
Input and Output CS 215 Lecture #20.
Introduction to the Enhanced AIM When Q.i was first introduced, a ladder logic driver program – called the Application Interface Module (AIM) - was created.
Microprocessors General Features To be Examined For Each Chip Jan 24 th, 2002.
Distributed Indexed Outlier Detection Algorithm Status Update as of March 11, 2014.
Computer Organization and Architecture
MEG Experiments Stimulation and Recording Setup Educational Seminar Institute for Biomagnetism and Biosignalanalysis February 8th, 2005.
Yevgeny Petrilin Shay Dan Shadi Ibrahim. GUI : Graphical User Interface DAQ :Data Acquisition Data Acquisition device  a self-powered system that communicated.
Point-to-Point Communication Self Test with solution.
Computer Organization and Architecture The CPU Structure.
Ninth Synthesis Imaging Summer School Socorro, June 15-22, 2004 Cross Correlators Walter Brisken.
Network Topologies.
Group practice in problem design and problem solving
DiFX: Software Correlation at Swinburne for the LBA Adam Deller Swinburne University/CSIRO Australia Telescope National Facility Supervisors: A/Prof Steven.
CS 346 – Chapter 8 Main memory –Addressing –Swapping –Allocation and fragmentation –Paging –Segmentation Commitment –Please finish chapter 8.
Tuning DiFX2 for performance Adam Deller ASTRON 6th DiFX workshop, CSIRO ATNF, Sydney AUS.
Basic concepts of radio interferometric (VLBI) observations Hiroshi Imai Department of Physics and Astronomy Graduate School of Science and Engineering.
IT253: Computer Organization Lecture 4: Instruction Set Architecture Tonga Institute of Higher Education.
Data and Computer Communications
14-15 May,2002 EVLA Correlator Backend Functional Design Tom Morgan 1 Backend Preliminary Functional Design.
TelCal Phasing Engine description Draft Robert Lucas
Memory Layout and SLC500™ System Addresses. Processor Memory Division An SLC 500 processor's memory is divided into two storage areas. Like two drawers.
MWA Data Capture and Archiving Dave Pallot MWA Conference Melbourne Australia 7 th December 2011.
The ALMA TelCal subsystem Dominique Broguière, Institut de RadioAstronomie Millimétrique (IRAM) TelCal Phasing meeting – Grenoble -10/12/2012.
Atacama Large Millimeter/submillimeter Array Expanded Very Large Array Robert C. Byrd Green Bank Telescope Very Long Baseline Array Software correlators.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Software Status Sonja Vrcic Socorro,
Packet switching network Data is divided into packets. Transfer of information as payload in data packets Packets undergo random delays & possible loss.
DiFX Performance Testing Chris Phillips eVLBI Project Scientist 25 June 2009.
An FX software correlator for VLBI Adam Deller Swinburne University Australia Telescope National Facility (ATNF)
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 19 Domain Name System (DNS)
MA471Fall 2002 Lecture5. More Point To Point Communications in MPI Note: so far we have covered –MPI_Init, MPI_Finalize –MPI_Comm_size, MPI_Comm_rank.
EPICS Release 3.15 Bob Dalesio May 19, Features for 3.15 Support for large arrays - done for rsrv in 3.14 Channel access priorities - planned to.
18-19 July, 2002Correlator Backend System OverviewTom Morgan 1 Correlator Backend System Overview Tom Morgan, NRAO.
DiFX New Features. Disk based file specification Improved specification of files to correlate Wild cards with time of scan name filtering? External reference.
ALU (Continued) Computer Architecture (Fall 2006).
Configuration Mapper Sonja Vrcic Socorro,
Distributed FX software correlation Adam Deller Swinburne University/CSIRO Australia Telescope National Facility Supervisors: A/Prof Steven Tingay, Prof.
Pulsar tools in DiFX Adam Deller ASTRON 6th DiFX workshop, CSIRO ATNF, Sydney AUS.
M.P. RupenCorrelator Face-to-Face Meeting 31 Oct 2006 Output Formats Part II Michael P. Rupen.
Unit III Bandwidth Utilization: Multiplexing and Spectrum Spreading In practical life the bandwidth available of links is limited. The proper utilization.
Interim Data Capture & Format (IDCAF) Walter Brisken 2006 Dec 6.
EPICS Release 3.15 Bob Dalesio May 19, Features for 3.15 Support for large arrays Channel access priorities Portable server replacement of rsrv.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 CH. 8: SWITCHING & DATAGRAM NETWORKS 7.1.
EOVSA EST DPP Testing J. McTiernan EOVSA Prototype Review 24-Sep-2012.
GCSE ICT 3 rd Edition The system life cycle 18 The system life cycle is a series of stages that are worked through during the development of a new information.
Software Requirements for the Testing of Prototype Correlator Sonja Vrcic Socorro, December 11, 2007.
Data Communication Networks Lec 13 and 14. Network Core- Packet Switching.
Send Environmental Data To the ORPG Design Review Wednesday, Nov. 16, 2005 Joanne Edwards Tom Kent.
Scenario use cases Szymon Mueller PSNC. Agenda 1.General description of experiment use case. 2.Detailed description of use cases: 1.Preparation for observation.
Mobile IP THE 12 TH MEETING. Mobile IP  Incorporation of mobile users in the network.  Cellular system (e.g., GSM) started with mobility in mind. 
Metadata for the SKA - Niruj Mohan Ramanujam, NCRA.
JIVE UniBoard Correlator External Review
JIVE UniBoard Correlator (JUC) Firmware
Correlator – Backend System Overview
Disk Storage, Basic File Structures, and Buffer Management
VCI Overview Sonja Vrcic
Data Communication Networks
Lecture 2- Query Processing (continued)
Chapter 11 Processor Structure and function
COMP755 Advanced Operating Systems
The Programmable Peripheral Interface (8255A)
Presentation transcript:

DiFX Overview Adam Deller NRAO 3rd DiFX workshop, Curtin University, Perth

Adam Deller3rd DiFX workshop, Curtin University, Perth Outline SVN layout mpifxcorr: The heart of DiFX Data management and flow The “Core” of the mpifxcorr Scaling and writing of visibilities I will focus on this segment of DiFX Briefly, the surrounding infrastructure: vex2difx: input/calc file generator calcif2: Geometric model generator difx2fits: FITS builder

Adam Deller3rd DiFX workshop, Curtin University, Perth SVN layout Two ways to get what you need from SVN Tagged versions: these live under “master_tags” at the top level. Current version is DiFX Active versions: branches/difx-1.5, trunk==difx2.0 Tagged versions: frozen. Recommended. Flat structure ie master_tags/mpifxcorr/*, master_tags/vexdifx/*, … Active versions: Can change! Structure includes “branch” underneath: applications/vex2difx/branches/difx-1.5/*, …

Adam Deller3rd DiFX workshop, Curtin University, Perth Mpifxcorr architecture Master Node Core 1DataStream 1 DataStream 2 DataStream N Core 2 Core M … … Timerange, destination Baseband data Visibilities Source data MPI is used for inter-process communications Each data transfer is double buffered Large, segmented ring buffer Up to 100s MB/ a few or more seconds Visibility buffer processing buffer

Adam Deller3rd DiFX workshop, Curtin University, Perth FxManager correlation flow Start at the requested time, step one block of FFTs at a time until end of correlation DiFX1.5 implementation: Contiguous time. Skip if time has no active “Configuration” DiFX2.0 implementation: correlate one scan at a time - whole scan either matches Configuration or not (contiguous not required) As visibilities are completed, release lock on visibility buffer slot (second thread writes out)

Adam Deller3rd DiFX workshop, Curtin University, Perth Datastream correlation flow Two threads: Main (receives instructions, sends data) and read (fills the buffer) Each maintains a lock on at least one segment of the databuffer at all times While data remains, the read thread will keep populating the data buffer until told to stop Main thread just dumbly fulfils requests until told to stop by Manager Sends a short flag to Core if no valid data

Adam Deller3rd DiFX workshop, Curtin University, Perth Datastream correlation flow Data buffer Start time Valid samples Num sent MPI_Send * handle Lock Read thread Send thread “Segment” “Send” ….. FFT = 2x num channels Requested time sent to Core

Adam Deller3rd DiFX workshop, Curtin University, Perth Core correlation flow N+1 threads: 1 for send/receive, the rest to do actual correlation (.threads file) One buffer slot is processed at a time - each process thread gets 1/Nth of the FFTs More locking is required so the threads can aggregate their results, which are stored in one long array (for ease of sending back) Keeps looping until a terminate message is received from FxManager

Adam Deller3rd DiFX workshop, Curtin University, Perth Under the hood in Core Each thread is identical, and has an array of “Mode” objects, which handle the station- based processing for each Datastream Mode knows how to unpack the different formats, and then handles fringe rotation, FFT and fractional sample correction After telling each Mode to do its thing, the thread grabs the appropriate results and XMACs, as described in the input file

Adam Deller3rd DiFX workshop, Curtin University, Perth Core in pictures Core object Subint slot Baseband data from each telescope Subint visibilities Proc. thread Thread visibilities Mode objects for each datastream Read/send thread Repeated for each subband Baseband data pointer unpacked data Intermediatiate data Final data for XMACXMAC

Adam Deller3rd DiFX workshop, Curtin University, Perth Scaling and writing visibilities Along with the sub-integrated visibilities, the Core maintains a count of valid samples that were used, also sends to FxManager This is divided by the expected number of samples and used to adjust the visibility amplitude up (and weight down) at the FxManager, before writing to disk At the same time, visibilities can be scaled by mean autocorrelations and predicted Tsys, but this is not recommended with difx2fits

Adam Deller3rd DiFX workshop, Curtin University, Perth vex2difx: control file generator Walter will speak in much more detail on this For the running of DiFX, its two important outputs are the.input file (which describes the setup of the correlator) and the.calc file (which describes the antenna positions, scan durations, source coords etc) Input.v2d file must provide vex file that describes observation; can also override defaults for numchannels, int time, …

Adam Deller3rd DiFX workshop, Curtin University, Perth.input file tables Common: other files, start/stop etc Configuration: Number of channels, anything that might want to change from one scan to the next Freq: IF frequencies, bandwidth, sideband Datastream: Setup for each telescope Baseline: What bands to correlate Data/network: Where to load the data from

Adam Deller3rd DiFX workshop, Curtin University, Perth.calc file setup Not explicitly tables like the.input file Start/stop time (not necessarily same as.input file Antenna info (xyz, mount type, axis offset, …) Source info (RA, dec, [parallax/pm…]) Scan info (start, duration, source) Earth Orientation Parameters (EOPs)

Adam Deller3rd DiFX workshop, Curtin University, Perth calcif2: geometric model gen. calcif2 takes the info given in the.calc file and produces predicted delays and uvws for each datastream This is stored in two forms: A densely packed series of samples (usually every second). This is the.delay and.uvw file used by DiFX1.5, which interpolates the samples A less densely sampled set of polynomials (usually every 2 minutes). This is the.im file used by DiFX2.0 - it’s a bit smaller/more efficient

Adam Deller3rd DiFX workshop, Curtin University, Perth difx2fits: FITS-IDI builder The visibilities written out of the correlator are in a very simple format: ascii header, followed by 32bit float binary data difx2fits takes these visibilities and the metadata from the control files, and builds a FITS-IDI file that can be loaded into eg AIPS More than one correlation can be combined into a single FITS file if compatible Further scaling of amplitudes is done

Adam Deller3rd DiFX workshop, Curtin University, Perth The thorny scaling problem At least 5 different amplitude effects need to be corrected (van Vleck, unpack vals, …) FITLD in AIPS is hardcoded to do some of these Therefore the combination of what is done at FxManager + difx2fits must match what FITLD expects Further discussion of this in the Tuesday afternoon session, hopefully

Adam Deller3rd DiFX workshop, Curtin University, Perth Recap: correlation flow chart Generate.v2d file vex2difx calcif2 Generate.threads/machine file Correlate: mpifxcorr Difx2fits In:Out: nothing.v2d.input,.calc.calc..delay/uvw/im ?? local info,.input.threads/machines.input/delay/uvw machines,.threads.difx (visibilities).difx,.input,.im FITS file