Presentation is loading. Please wait.

Presentation is loading. Please wait.

Progress report 2012/05/01. Reminding Goals : to build a multi-core platform with Hadoop environment Base board & FPGA & fiber ports Tegra2 Application.

Similar presentations


Presentation on theme: "Progress report 2012/05/01. Reminding Goals : to build a multi-core platform with Hadoop environment Base board & FPGA & fiber ports Tegra2 Application."— Presentation transcript:

1 Progress report 2012/05/01

2 Reminding Goals : to build a multi-core platform with Hadoop environment Base board & FPGA & fiber ports Tegra2 Application layer Transaction layer Physical Layer Linux Device Driver DMA in Tegra2 Router circuit in FPGA Fiber link User program User API

3

4 What to do and what we have What we have Tegra2 software program co-work with FPGA to do simple work. A circuit example with fiber communication What to do a example by combining examples we have to achieve a framework from software, hardware, and fibers. ( O ) Example interface unified Achieve API package Interrupt mechanism Porting Hadoop environment on proposed framework.( X )

5 Combined example block diagram DMA TX_Buf RX_Buf TX_IF RX_IF GTP BASE Fiber link Linux Device Driver User Prog. Circuit layer SoftwareDriver DMA IF Clk_wiz clk_120mBASE_CLK

6 API package Global variable : device number, buffer pointer init : open device, memory mapping Finalize : close device, memory um-mapping. FPGAWrite : write buf_w into circuit layer by DMA FPGARead : Read data from circuit by DMA and store into buf_r header packet mechanism In future, it wiil be applied on APIs

7 Interrupt mechanism Circuit layer : pull up MEM_R/W_Ready to setup an interrupt to CPU A interrupt means its ready for the next user read/write call Driver layer Driver code in original release might be got stuck due to mutex usage. According to previous work on MultiARM, rewrite driver by a kthread interrupt handler and two wait_events 25 ns

8 Result

9 2-node test A single SendRecv program running on 2 nodes Add a ! until the length is larger than specified value Receiver Sender

10 Next Try to setup Hadoop environment on proposed framework. Do on my laptop Setup JAVA on MaCube Setup Hadoop environment on MaCube Modify the calling interface to my APIs

11 Progress report 2012/05/15boy13

12 Last week Completed Setup programming model and achieve framework covered with software, hardware, GTPs. Combining examples API package Interrupt mechanism To do Setup Hadoop on proposed framework Setting Hadoop on this laptopO Setting JAVA Runtime Environment on MaCube O Setting Hadoop environment on MaCubeX Modify calling interface by my APIsX

13 Setting Hadoop on my laptop Single node setting Download Hadoop and jdk and extract them. /conf/hadoop_env.sh Export JAVA_HOME= /conf/core-site.xml hadoop.tmp.dir fs.defailt.name hdfs://localhost:9000 Dfs.replication1 /conf/mapred-site.xml Mapred.job.trackerlocalhost:9001 More on

14 Hadoop example execution HDFS format /bin/hadoop namenode -format Start and stop /bin/start-all.sh /bin/stop-all.sh HDFS operation /bin/hadoop dfs –mkdir input /bin/hadoop dfs –ls /bin/hadoop dfs –put input

15 Hadoop example wordcount execution /bin/hadoop jar hadoop examples.jar wordcount input output See execution result /bin/hadoop dfs –cat output/*

16 Multi-node setting Hosts /etc/hosts : A table record machine name and its IP /etc/hostname : machine name ssh connections sudo apt-get install openssh-server /conf slaves : machine name of data-nodes masters : machine name of name-node start-all.sh

17 After start-all.sh /bin/jps /bin/hadoop dfsadmin –report More on :

18 Setting JAVA Runtime Environment

19 cp /media/sda1/ejre1.6.0_32.tar.gz./ tar -xjf ejre1.6.0_32.tar.gz export PATH=/home/root/Desktop/ejre1.6.0_32/bin:$PATH

20 Next to do Try to setup Hadoop environment on proposed framework. Do on my laptop Setup JAVA on MaCube Setup Hadoop environment on MaCube Modify the calling interface to my APIs

21 Progress report 2010/05/29boy13

22 Recently Goals : to build a multi-core system with hadoop environment Work items Setup programming model and achieve framework covered with software, hardware, GTPs. Combining examples O API package O Interrupt mechanismO Router mechanism Setup Hadoop on proposed framework Setup up on my laptopO Setting JAVA Runtime Environment on MaCube O Setting Hadoop environment on MaCube

23 Router mechanism A Light-Weight Parallel Router for FPGA-based Networks-on-Chip Department of ECECS, University of Cincinnati, 2005 Application layer Transaction layer Physical Layer Linux Device Driver DMA in Tegra2 Router circuit in FPGA Fiber link User program User API

24 Router mechanism 2-D mesh architecture Routing mechanism XY routing Port Input Channel FIFO interface Be requested from Output Channel of a port in another router Request to X-bar switch to access Output Channel Output Channel Crossbar Switch

25

26 For out architecture 2-D mesh => 3-D mesh Port => Local Port, Fiber Port Local Port : interface for FPGA and DMA in tegra2 Fiber Port : interface for fiber link in proposed framework Base board & FPGA & fiber ports Tegra2

27 Setting hadoop in proposed framework Setting up namenode applet not found What is applet ? JRE v.s. Java Applet By several weeks asking, I conclude that JAVA Applet isnt supported in embedded JAVA.

28 Setting up datanode in MaCube Laptop plays namenode role in this work. Setting ssh connection Pre-requite : openssl, zlib Download source package Extract it to local directory./configure –help./configure Modify makefile manually if necessary make && make install

29 Error occur when I key make install for openssh Source pack : 5.7, 5.9 Toolchain : arm-2009q3, cc

30 Next Router mechanism Complete design for Local port, Crossbar switch Change local port with fiber port Complete 2x2 2-D mesh architecture Setup hadoop environment Build openssh and setup connection Try datanode start service

31 Progress report 2012/06/19boy13

32 Recently Goals : to build a multi-core system without hadoop environment Work items Setup programming model and achieve framework covered with software, hardware, GTPs. Combining examples O API package O Interrupt mechanismO Router mechanismO Multi-core system Setup Hadoop on proposed framework Setup up on my laptopO Setting JAVA Runtime Environment on MaCube O Setting Hadoop environment on MaCubeX Namenode software service

33 Router mechanism Router Input Channel, Output Channel Input Request mechanism, Round-Robin Arbitrator Parallel Router by cross-bar switch Testing pattern Local portO Local port + RouterO Local port + Router + 1 fiber port O Local port + Router + 4 fiber port O

34 DMA Local port Router East port West port GTP_J4 North port South port GTP_J5 id

35 Multi-core system So far, only 1-1 send-recv pairs, and no packet overlapping occur. Read mechanism in driver should be designed When read interrupt comes configure DMA and put data into a buffer Wakeup kthread (interrupt handler) Kthread Put data in buffer in a list kept in driver Read call Search list in driver If found, copy data into read buffer API allocated Otherwise, sleep Re-check circuit design Whether data not sent but be replaced or not Buffer empty register

36 Setting hadoop environment Hadoop setting Download hadoop source and JRE into MaCube Modify /conf/ *.xml Build ssh connection./start-all.sh./bin/hadoop 2 use-case MaCube play both namenode and datanode roles MaCube plays datanode role and laptop/PC act as namenode

37 Problem encountered for both datanode and namenode role bash : no such file or directory What is bash ? ln –s /bin/sh /bin/bash bash : applet not found

38 By several weeks googling and asking, I conclude that JAVA Applet isnt supported in embedded JAVA. Taiwan Hadoop Forum 3e7062aaa314 3e7062aaa314 Embedded JAVA, no bash => no applet => hadoop cant be built. So ……

39 Namenode software service Motivation : hadoop is not friendly with embedded system. We build a simple software service of cloud system A simple service to submit job Package source code, data, and execution arguments cross-compile source code Send package to datanode scheduled Result returned Graphics user interface and its easy to use. Embedded JAVA !! New thread and system call to execute program received Simple distributed file system Connect with student of Prof. Shiao

40 To do achieve multi-core system hardware framework Complete read mechanism Put fiber port from 4 to 6 Design namenode software service A quick job submit flow Easy to use and graphical

41 Progress report 2012/07/10boy13

42 Recently Goals : to build a multi-core system Work items Setup programming model and achieve framework covered with software, hardware, GTPs. Combining examples O API package O Interrupt mechanismO Router mechanismO Multi-core system Setup Hadoop on proposed framework Setup up on my laptopO Setting JAVA Runtime Environment on MaCube O Setting Hadoop environment on MaCubeX Namenode software service Demo items

43 Multi-core system Transportation testing X-axis transportation Y-axis transportation 2-D mesh transportation

44 Multi-core system Serial transportation Motivation : sometimes a byte data shift

45 Multi-core system Serial transportation problem Reference clock skewing Solutions : Sink : make the initiator and target correct the timing when initial the transaction Re-send : if data check is error by some mechanism, then request initiator to resend The author of GTP_EXAMPLE says, its locked when the first sink, and cant be unlocked. => only can try re-send method.

46 Method thinking do something when error has checked at the first time. Ack/Nak mechanism. Deadlock possible ? TX_IF RX_IF GTP CORE TX_IF RX_IF GTP CORE

47 Namenode software service TCP communication Try : a simple chat room program Shell program

48 Server Initial socket Listen client Create thread to message passing Create receive thread Message recv Take mutex and queue it Check queue is empty Take mutex, pop queue, Socket send Client Initial socket Get connection Create thread to recv chat Socket recv Print

49 Demo items Demo item 1 : Using Ethernet to do Map-Reduce or SPCP Demo item 2 (possible) : Using Ethernet to transport program and data Using fiber to communication with components

50 Progress report 2012/08/01

51 Recently Goals : to build a multi-core system Work items Setup programming model and achieve framework covered with software, hardware, GTPs. Combining examples O API package O Interrupt mechanismO Router mechanismO Multi-core system Setup Hadoop on proposed framework Setup up on my laptopO Setting JAVA Runtime Environment on MaCube O Setting Hadoop environment on MaCubeX Namenode software service Demo items

52 Recently Transport testing Middle-ware implementation Demo items implementation

53 Transport testing 2-D mesh architecture X_test 0,1 OK 4,5X -> OK Y_test 0,4X -> OK 1,5X -> OK Synchronous problem occurred frequently. 0,0(0)1,0(1) 1,0(4)1,1(5)

54 Middle-ware implementation Shell program(JAVA), TCP Agent(C++), TCP Core(C++) connection built OK, but no data received JAVA object serialization Its OK to ping Macube from Vmware, but it doesnt work to ping Vmware from Macube Double-system laptop Viewing SPCP sources => porting SPCP onto Macube Cross-compile core program and takes related files Possible problem : speed gap between PC and Macube

55 Demo item implementation Item 1 : porting SPCP Item 2 : simple puzzle (possible) Ethernet version Packet size, header configuration no puzzle change, 2 cores on PC, 4 cores on Macubes Speed gap JAVA UI Upload System call and wait Server Core TCP/IP connection

56 Item 2 : simple puzzle (possible) Fiber version Serial transport synchronous problem Re-send, Sync at transport initial re-send mechanism TX_send RX get Ack timeout done Re-send RX_recv CRC_error = 1 discard Send ack packet TX_sendAck RX_getAck CRC_error = 1 discard

57 Thanks for your attention !


Download ppt "Progress report 2012/05/01. Reminding Goals : to build a multi-core platform with Hadoop environment Base board & FPGA & fiber ports Tegra2 Application."

Similar presentations


Ads by Google