龙芯3A2000上移植NASA WorldWind指南

代表月亮消咩尼 发表了文章 • 0 个评论 • 383 次浏览 • 2017-01-24 11:36 • 来自相关话题

龙芯3A2000上移植NASA WorldWind指南 一、初识NASA WORLDWIND   NASA World Wind是NASA(美国)国家航空和宇宙航行局联合出品,类似Earthview 3D的鸟瞰工具,更加权威而且完全免 ...查看全部
龙芯3A2000上移植NASA WorldWind指南

一、初识NASA WORLDWIND   NASA World Wind是NASA(美国)国家航空和宇宙航行局联合出品,类似Earthview 3D的鸟瞰工具,更加权威而且完全免费。通过这套程序的3D引擎,可以让你从外太空看见地球上的任何一个角落。


91.png


worldwind主界面
    有“天眼”之称的一款软件是否可以在龙芯平台上运行呢?经过修改、调试、编译,笔者终于成功的在龙芯3A2000上运行了worldwind。下面来看看移植过程。
二、下载worldwind以及相关的软件包
首先介绍下和worliwind相关的两外两个软件包gluegen和jogl。
gluegen是自动生成的java和JNI代码,调用C库的工具,可以绑定底层API,如java本地接口(JNI)和 AWT本地接口(jawt)。
jogl是Java对OpenGL绑定的开源项目并设计为采用Java开发的应用程序,还提供了众多3D图形库,如:AWT、Swing和SWT widget,以及自定义窗口工具nativewindow。
为了不让大家走弯路,笔者先简单的介绍下载包的版本。笔者下载的worldwind是2.0.0版本,REDME.txt文档上介绍支持Java SDK1.5.0以上版本。需下载1.5版本的gluegen和jogl包。
● worldwind下载路径:http://ftp.loongnix.org/others/NasaWorldWind/
● gluegen和jogl下载路径:http://jogamp.org/deployment/archive/rc/v2.1.5/archive/Sources/
点击gluegen-v2.1.5.tar.7z和jogl-v2.1.5.tar.7z即可下载。
三、编译环境
笔者使用的电脑是龙芯3A2000,系统是Loongnix-Fedora21。
系统下载地址:  http://www.loongnix.org
四、编译源代码
笔者详细的述说这三个软件包里需要修改的地方。
第一步:首先编译gluegen软件包
1.进入gluegen软件包,查找build.xml文件。(记得将解压后的文件名修改为gluegen)
[loongson@localhost gluegen]$find . -name build.xml
./test/TestOneJar_InJar/jogamp01/build.xml
./test/junit/com/jogamp/gluegen/build.xml
./make/build.xml 修改 ./make/build.xml文件,搜索mips,添加如下代码:
在328行添加如下代码:
+  <target name="declare.linux.mips64el" if="isLinuxMips64el">
+      <echo message="Linux.mips64el" />
+     <property name="compiler.cfg.id"                      value="compiler.cfg.linux" />
+    <property name="linker.cfg.id"                        value="linker.cfg.linux.mips64el" />
+  </target>在360行后面加上代码:
+  declare.linux.mips64el,2.进入gluegen软件包,查找PlatformPropsImpl.java文件。
[loongson@localhost gluegen]$ find . -name PlatformPropsImpl.java
./src/java/jogamp/common/os/PlatformPropsImpl.java修改PlatformPropsImpl.java文件,查找mips,在301行添加如下代码:
+ else if( archLower.equals("mips64") ) {        // android  gaoquan
+            return CPUType.MIPS_64;
+        } else if( archLower.equals("mips64el") ) {        // android   gaoquan
+            return CPUType.MIPS_64el;
+        }3.修改PlatformPropsImpl.java文件。
在./src/java/jogamp/common/os/PlatformPropsImpl.java文件的getOSAndArch()方法下,添加分支,代码如下:
case IA64:
                _os_and_arch = "ia64";
                break;
+            case MIPS_64el:
+                os_and_arch = "mips64el";
+               break;
             case SPARCV9_64:
                _os_and_arch = "sparcv9";
                break;4.修改MachineDescriptionRuntime.java文件。
在./src/java/jogamp/common/os/MachineDescriptionRuntime.java文件的isCPUArch32Bit()方法下,添加分支,代码如下:
private static boolean isCPUArch32Bit(final Platform.CPUType cpuType) throws RuntimeException {
    switch( cpuType ) {
        case X86_32:
        ...........    
+      case MIPS_64el:
            return false;5.进入gluegen软件包,查找./make/gluegen-cpptasks-base.xml文件,此文件修改的代码有些多。在gluegen-cpptasks-base.xml中搜索mipsel,在380行添加代码:
在gluegen-cpptasks-base.xml中搜索mipsel,在380行添加代码:
 <condition property="isLinuxMipsel">
      <and>
        <istrue value="${isLinux}" />
        <os arch="mipsel" />
      </and>
    </condition>
+    <condition property="mipsel">
+      <os arch="mipsel" />
+    </condition>
+      <condition property="isLinuxMips64el">
+      <and>
+        <istrue value="${isLinux}" />
+        <os arch="mips64el" />
+      </and>
+    </condition>
+    <condition property="mips64el">
+      <os arch="mips64el" />
+    </condition>
<condition property="isLinuxPpc">580行添加代码:
<echo message="LinuxMipsel=${isLinuxMipsel}" />
+    <echo message="LinuxMips64el=${isLinuxMips64el}" />
       <echo message="LinuxPpc=${isLinuxPpc}" />650行添加代码:
 <target name="gluegen.cpptasks.detect.os.linux.mipsel" unless="gluegen.cpptasks.detected.os.2" if="isLinuxMipsel">
    <property name="os.and.arch" value="linux-mipsel" />
  </target>
+  <target name="gluegen.cpptasks.detect.os.linux.mips64el" unless="gluegen.cpptasks.detected.os.2" if="isLinuxMips64el">
+    <property name="os.and.arch" value="linux-mips64el" />
+  </target>
  <target name="gluegen.cpptasks.detect.os.linux.ppc" unless="gluegen.cpptasks.detected.os.2" if="isLinuxPpc">
    <property name="os.and.arch" value="linux-ppc" />
  </target>682行添加代码+ gluegen.cpptasks.detect.os.linux.mips64el,1192行添加代码: <linker id="linker.cfg.linux.mipsel" name="${gcc.compat.compiler}">
    </linker>
+   <linker id="linker.cfg.linux.mips64el" name="${gcc.compat.compiler}">
+   </linker>
    <linker id="linker.cfg.linux.ppc" name="${gcc.compat.compiler}">
</linker> 1413行添加代码:
<target name="gluegen.cpptasks.declare.compiler.linux.mipsel" if="isLinuxMipsel">
      <echo message="Linux.Mipsel" />
      <property name="compiler.cfg.id.base"          value="compiler.cfg.linux" />
      <property name="linker.cfg.id.base"            value="linker.cfg.linux" />
      <property name="java.lib.dir.platform"         value="${java.home.dir}/jre/lib/mipsel" />
    </target>
+    <target name="gluegen.cpptasks.declare.compiler.linux.mips64el" if="isLinuxMips64el">
+      <echo message="Linux.Mips64el" />
+      <property name="compiler.cfg.id.base"          value="compiler.cfg.linux" />
+      <property name="linker.cfg.id.base"            value="linker.cfg.linux" />
+      <property name="java.lib.dir.platform"         value="${java.home.dir}/jre/lib/mips64el" />
+    </target>
    <target name="gluegen.cpptasks.declare.compiler.linux.ppc" if="isLinuxPpc">
      <echo message="Linux.Ppc" />
      <property name="compiler.cfg.id.base"          value="compiler.cfg.linux" />
      <property name="linker.cfg.id.base"            value="linker.cfg.linux" />
      <property name="java.lib.dir.platform"         value="${java.home.dir}/jre/lib/ppc" />
</target>1449行添加代码:
 + gluegen.cpptasks.declare.compiler.linux.mipsel,6.在build-test.xml文件中搜索java.build,在164行添加如下代码:
 +   <!--
+   <target name="android.package" depends="java.generate,java.build,native.build" if="isAndroid">
+   -->
+    <target name="android.package" depends="java.generate,native.build" if="isAndroid">
+        <aapt.signed
            assetsdir="resources/assets-test"7.最后在make目录下,使用ant来编译:
 gluegen.build.check.aapt:
android.package:
developer-src-zip:
      [zip] Building zip: /home/loongson/jogl/gluegen/build/gluegen-java-src.zip
developer-zip-archive:
all:
BUILD SUCCESSFULgluegen软件包终于编译成功了!
* 最后记得将build目录下的 .jar 文件拷贝到worldwind下
第二步:编译jogl软件包
1.下载swt.jar文件(http://ftp.loongnix.org/others/NasaWorldWind/),拷贝到swt目录下(jogl-v2.1.5/make/lib/swt/)
2.进入jogl-v2.15软件包,在./make/build-nativewindow.xml文件中进行修改。
  <target name="c.configure.linux.mipsel" if="isLinuxMipsel">
      <echo message="Linux.MIPSEL" />
      <property name="compiler.cfg.id"                      value="compiler.cfg.linux" />
      <property name="linker.cfg.id.oswin"                  value="linker.cfg.linux.nativewindow.x11" />
    </target>
+   <target name="c.configure.linux.mips64el" if="isLinuxMips64el">
+      <echo message="Linux.MIPS64EL" />
+      <property name="compiler.cfg.id"                      value="compiler.cfg.linux" />
+      <property name="linker.cfg.id.oswin"                  value="linker.cfg.linux.nativewindow.x11" />
+    </target>
<target name="c.configure.linux.ppc" if="isLinuxPpc">
    ..........
+   c.configure.linux.mipsel,c.configure.linux.mips64el,c.configure.linux.ppc  3.修改build-common.xml文件,添加如下代码:
  <condition property="swt.jar" value="${project.root}/make/lib/swt/gtk-linux-x86/swt-debug.jar">
          <istrue value="${isAndroid}" /> <!-- FIXME JAU .. hack -->
        </condition>
+       <condition property="swt.jar" value="${project.root}/make/lib/swt/gtk-linux-mips64el/swt.jar">
+          <istrue value="${isLinuxMips64el}" /> <!-- FIXME JAU .. hack -->
+        </condition>
         <property name="swt-cocoa-macosx-x86_64.jar" value="${project.root}/make/lib/swt/cocoa-macosx-x86_64/swt-debug.jar"/>  4.修改build-jogl.xml文件,添加如下代码:
 <target name="c.configure.linux.mipsel" if="isLinuxMipsel">
      <echo message="Linux.MIPSEL" />
      <property name="compiler.cfg.id"                     value="compiler.cfg.linux" />
      <property name="linker.cfg.id.os"                    value="linker.cfg.linux.jogl.x11" />
    </target>
+    <target name="c.configure.linux.mips64el" if="isLinuxMipsel">
+      <echo message="Linux.MIPSEL" />
+      <property name="compiler.cfg.id"                     value="compiler.cfg.linux" />
+      <property name="linker.cfg.id.os"                    value="linker.cfg.linux.jogl.x11" />
+    </target>
+   c.configure.linux.mipsel,c.configure.linux.mips64el,c.configure.linux.ppc5.修改build-newt.xml文件,添加如下代码:
 +    <target name="c.configure.linux.mips64el" if="isLinuxMips64el">
+      <echo message="Linux.mips64el" />
+      <property name="compiler.cfg.id"                      value="compiler.cfg.linux" />
+      <condition property="linker.cfg.id.oswin"             value="linker.cfg.linux.newt.x11"
+                                                            else="linker.cfg.linux">
+          <isset property="isX11" />
+      </condition>
+      <echo message="linker.cfg.id.oswin ${linker.cfg.id.oswin}" />
+    </target>
+    c.configure.linux.mipsel,c.configure.linux.mips64el,c.configure.linux.ppc6.在make目录下,使用ant来编译:
 all:
BUILD SUCCESSFUL
Total time: 3 minutes 1 second终于编译成功了!
* 记得将jogl下的jogl-all.jar、nativewindow-natives-linux-mips64el.jar、jogl-all-natives-linux-mips64el.jar,拷贝到worldwind下
第三步:在worldwind下,运行提供的用例。
 [loongson@localhost worldwind-2.0.0]$ chmod +x run-demo.bash
[loongson@localhost worldwind-2.0.0]$ ./run-demo.bash gov.nasa.worldwindx.examples.ApplicationTemplate最终worldwind终于运行起来了!3A2000下拖动页面基本流畅。
为了能够更流畅的查看地图,可以屏蔽终端的输入:
 [loongson@localhost worldwind-2.0.0]$ ./run-demo.bash gov.nasa.worldwindx.examples.ApplicationTemplate &>/dev/null
五、如果您觉得要修改的代码太多,不方便。笔者为你提供了更简单的方法。
1. 下载http://ftp.loongnix.org/others/NasaWorldWind/ 里面有patch文件,还有使用说明。根据说明来修改三个软件包,最后在worldwind目录里输入
./run-demo.bash gov.nasa.worldwindx.examples.ApplicationTemplate
 
 

龙芯3A2000移植Hadoop指南

代表月亮消咩尼 发表了文章 • 0 个评论 • 438 次浏览 • 2017-01-24 11:12 • 来自相关话题

龙芯3A2000移植Hadoop指南 一、hadoop 简介             hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。 ...查看全部
龙芯3A2000移植Hadoop指南
一、hadoop 简介             hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
hadoop实现了一个分布式文件系统(hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。
        hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。
        hadoop是一个能够对大量数据进行分布式处理的软件框架, 它以一种可靠、高效、可伸缩的方式进行数据处理。维护多个工作数据副本,确保能够针对失败的节点重新分布处理。并行工作方式,提高处理速度,之处处理PB级数据。
        hadoop是一个能够让用户轻松架构和使用的分布式计算平台。用户可以轻松地在hadoop上开发和运行处理海量数据的应用程序。它主要有以下几个优点:
                高可靠性: hadoop按位存储和处理数据的能力值得人们信赖。
                高扩展性: hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。
                高效性: hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。
                高容错性:hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。
                低成本: 与一体机、商用数据仓库以及QlikView、Yonghong Z-Suite等数据集市相比,hadoop是开源的,项目的软件成本因此会大大降低。
        本文主要涉及以下内容:hadoop源码编译,hadoop在分布式计算云存储系统中的部署和应用,同时也将记录hadoop搭建过程的FAQ和相对解决方案。
        hadoop 集群(cluster) 支持如下3种操作模式:
        1. Local/Standalone Mode
         完成下载后,默认情况下hadoop 被配置为Standalone 模式,作为单个Java进程运行。
        2. Pseudo Distributed Mode
        此种模式下,每个hadoop 守护进程,如hdfs,yarn,MapReduce 等分布式部署在不同的机器上,分别作为独立的Java 进程,这种模式有助于开发。
        3. Fully Distributed Mode
        完全分布式部署,需要至少2台机器,作为一个集群,稍后进行详解。
二、移植环境
首先给出本机的软硬件信息,
软件环境:
(1)loongnix1.0 系统(2016.8.10版本)。下载地址 www.loongnix.org
(2)内核版本:3.10.84-all
(3)JDK版本:1.8.0_25-rc16-b17 or later
(4)MAVEN:3.2.2 or later
硬件环境:
(1)开发板类型: Loongson-3B-780E-2w-V0.2-demo
(2)固件版本: loongson-PMON-V3.3.0
本例中使用的hadoop的版本为2.7.2, hadoop 源码下载地址,参见附录中的”hadoop downloads” 链接。hadoop 编译依赖findbugs和cmake软件包,建议在编译前通过yum 命令进行自动安装,安装方式如下:
[hadoop@localhost log]$ sudo yum -y install java-1.8.0-openjdk-devel java-1.8.0-openjdk-headless \ java-1.8.0-openjdk findbugs cmake  protobuf-compiler
完成安装后,需要设置如下环境变量,建议将以下内容追加到/et       c/profile文件,并用source 命令使其生效。
export FINDBUGS_HOME=/usr/share/findbugs
export MAVEN_HOME=/usr/share/maven
export MAVEN_OPTS="-Xms256m -Xmx512m"
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.25-5.rc16.fc21.loongson.m
PATH=/usr/lib64/ccache:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/h
export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin
Build From Scratch:首先解压源码到自定义目录(本例采用/usr/local)利用mvn clean package -Pdist,native,src -DskipTests -Dtar 命令进行编译。
tar xvf hadoop-2.7.2.src.gz -C mkdir /usr/local/
cd  /usr/local/hadoop-2.7.2
mvn clean package -Pdist,native,src -DskipTests -Dtar
三、注意事项
(1)本例中采用/usr/local 作为工作目录需要root权限
(2)编译过程报错,可参见对应FAQ,问题解决后,通过mvn package -Pdist,native,src -DskipTests -Dtar 命令再次启动编译。
(3)FAQ的标识由序号(从001开始)和模块名组成,其中者通过冒号间隔。模块名源自maven Reactor 涉及的modules名称。
四、FAQ
001:Apache hadoop Common
终端报错:
 #
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x000000ffe18f46fc, pid=5300, tid=1099154321904
#
# JRE version: OpenJDK Runtime Environment (8.0_25-b17) (build 1.8.0_25-rc16-b17)
# Java VM: OpenJDK 64-Bit Server VM (25.25-b02 mixed mode linux- compressed oops)
# Problematic frame:
# J 62748 C2 scala.tools.asm.ClassWriter.get(Lscala/tools/asm/Item;)Lscala/tools/asm/Item; (49 bytes) @ 0x000000ffe18f46fc [0x000000ffe18f46a0+0x5c]
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.sun.com/bugreport/crash.jsp
#
解决方法:
此问题与JDK的并行GC相关,编译hadoop和spark均有遇到,目前的解决方法:调整/etc/profile 文件MAVEN_OPTS 环境变量为如下内容:
export MAVEN_OPTS="-Xms3560m -Xmx3560m -XX:-UseParallelGC -XX:-UseParallelOldGC"002: any-modules 终端现象: maven 编译过程中构件(xxx.jar和xxx.pom) 无法下载。
 解决方法: 打开maven 配置文件的代理设置选项,并重新安装ca-certificates
#为maven 设置代理
<proxies>
    <!-- proxy
     | Specification for one proxy, to be used in connecting to the network.
     |-->
    <proxy>
      <id>proxy01</id>
      <active>true</active>
      <protocol>http</protocol>
      <host>ip_address</host>
      <port>port</port>
      <nonProxyHosts>localhost</nonProxyHosts>
    </proxy>
    <proxy>
      <id>proxy02</id>
      <active>true</active>
      <protocol>https</protocol>
      <host>ip_address</host>
      <port>port</port>
      <nonProxyHosts>localhost</nonProxyHosts>
    </proxy>
  </proxies>
 
#重新安装ca-certificates
Sudo yum -y install ca-certificates
注意事项: 凡出现Maven 编译过程构件无法下载,均可参考本FAQ内容进行适当修改。
五、编译结果
Maven编译通过后,将在终端显示hadoop 的maven Reactor(本次编译的所有maven 模块)和编译时间信息。下面给出的时耗信息,进攻参考不同软硬件平台将会产生差异。
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] Apache hadoop Main ................................. SUCCESS [ 10.769 s]
[INFO] Apache hadoop Project POM .......................... SUCCESS [  8.793 s]
[INFO] Apache hadoop Annotations .......................... SUCCESS [ 18.834 s]
[INFO] Apache hadoop Assemblies ........................... SUCCESS [  2.414 s]
[INFO] Apache hadoop Project Dist POM ..................... SUCCESS [  9.653 s]
[INFO] Apache hadoop Maven Plugins ........................ SUCCESS [ 25.215 s]
[INFO] Apache hadoop MiniKDC .............................. SUCCESS [ 20.682 s]
[INFO] Apache hadoop Auth ................................. SUCCESS [ 26.240 s]
[INFO] Apache hadoop Auth Examples ........................ SUCCESS [ 23.112 s]
[INFO] Apache hadoop Common ............................... SUCCESS [45:23 min]
[INFO] Apache hadoop NFS .................................. SUCCESS [ 45.079 s]
[INFO] Apache hadoop KMS .................................. SUCCESS [01:27 min]
[INFO] Apache hadoop Common Project ....................... SUCCESS [  1.104 s]
[INFO] Apache hadoop HDFS ................................. SUCCESS [21:45 min]
[INFO] Apache hadoop HttpFS ............................... SUCCESS [02:13 min]
[INFO] Apache hadoop HDFS BookKeeper Journal .............. SUCCESS [ 47.832 s]
[INFO] Apache hadoop HDFS-NFS ............................. SUCCESS [ 34.029 s]
[INFO] Apache hadoop HDFS Project ......................... SUCCESS [  1.075 s]
[INFO] hadoop-yarn ........................................ SUCCESS [  1.354 s]
[INFO] hadoop-yarn-api .................................... SUCCESS [07:20 min]
[INFO] hadoop-yarn-common ................................. SUCCESS [35:51 min]
[INFO] hadoop-yarn-server ................................. SUCCESS [  1.020 s]
[INFO] hadoop-yarn-server-common .......................... SUCCESS [01:42 min]
[INFO] hadoop-yarn-server-nodemanager ..................... SUCCESS [01:58 min]
[INFO] hadoop-yarn-server-web-proxy ....................... SUCCESS [ 25.288 s]
[INFO] hadoop-yarn-server-applicationhistoryservice ....... SUCCESS [01:05 min]
[INFO] hadoop-yarn-server-resourcemanager ................. SUCCESS [02:52 min]
[INFO] hadoop-yarn-server-tests ........................... SUCCESS [ 40.356 s]
[INFO] hadoop-yarn-client ................................. SUCCESS [ 54.780 s]
[INFO] hadoop-yarn-server-sharedcachemanager .............. SUCCESS [ 24.110 s]
[INFO] hadoop-yarn-applications ........................... SUCCESS [  1.017 s]
[INFO] hadoop-yarn-applications-distributedshell .......... SUCCESS [ 21.223 s]
[INFO] hadoop-yarn-applications-unmanaged-am-launcher ..... SUCCESS [ 17.608 s]
[INFO] hadoop-yarn-site ................................... SUCCESS [  1.145 s]
[INFO] hadoop-yarn-registry ............................... SUCCESS [ 42.659 s]
[INFO] hadoop-yarn-project ................................ SUCCESS [ 34.614 s]
[INFO] hadoop-mapreduce-client ............................ SUCCESS [  1.905 s]
[INFO] hadoop-mapreduce-client-core ....................... SUCCESS [33:18 min]
[INFO] hadoop-mapreduce-client-common ..................... SUCCESS [32:57 min]
[INFO] hadoop-mapreduce-client-shuffle .................... SUCCESS [ 28.868 s]
[INFO] hadoop-mapreduce-client-app ........................ SUCCESS [01:00 min]
[INFO] hadoop-mapreduce-client-hs ......................... SUCCESS [ 46.223 s]
[INFO] hadoop-mapreduce-client-jobclient .................. SUCCESS [ 29.643 s]
[INFO] hadoop-mapreduce-client-hs-plugins ................. SUCCESS [ 15.580 s]
[INFO] Apache hadoop MapReduce Examples ................... SUCCESS [ 40.229 s]
[INFO] hadoop-mapreduce ................................... SUCCESS [ 24.719 s]
[INFO] Apache hadoop MapReduce Streaming .................. SUCCESS [ 33.669 s]
[INFO] Apache hadoop Distributed Copy ..................... SUCCESS [ 59.792 s]
[INFO] Apache hadoop Archives ............................. SUCCESS [ 19.986 s]
[INFO] Apache hadoop Rumen ................................ SUCCESS [ 47.303 s]
[INFO] Apache hadoop Gridmix .............................. SUCCESS [ 30.258 s]
[INFO] Apache hadoop Data Join ............................ SUCCESS [ 22.306 s]
[INFO] Apache hadoop Ant Tasks ............................ SUCCESS [ 19.212 s]
[INFO] Apache hadoop Extras ............................... SUCCESS [ 27.362 s]
[INFO] Apache hadoop Pipes ................................ SUCCESS [  6.723 s]
[INFO] Apache hadoop OpenStack support .................... SUCCESS [ 34.857 s]
[INFO] Apache hadoop Amazon Web Services support .......... SUCCESS [ 37.631 s]
[INFO] Apache hadoop Azure support ........................ SUCCESS [ 30.848 s]
[INFO] Apache hadoop Client ............................... SUCCESS [01:02 min]
[INFO] Apache hadoop Mini-Cluster ......................... SUCCESS [  3.409 s]
[INFO] Apache hadoop Scheduler Load Simulator ............. SUCCESS [ 33.821 s]
[INFO] Apache hadoop Tools Dist ........................... SUCCESS [ 55.501 s]
[INFO] Apache hadoop Tools ................................ SUCCESS [  0.768 s]
[INFO] Apache hadoop Distribution ......................... SUCCESS [03:44 min]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 03:33 h
[INFO] Finished at: 2016-08-01T14:22:17+08:00
[INFO] Final Memory: 125M/3096M
[INFO] ------------------------------------------------------------------------
本例的编译结果位于/usr/local/hadoop-2.7.2/hadoop-dist/target/目录,源码包和二进制包分别为hadoop-2.7.2-src.tar.gz和hadoop-2.7.2.tar.gz。至此hadoop编译结束。
六、Hadoop 集群搭建测试
本节采用hadoop ”Fully Distributed Mode” 工作模式,在IP地址分别为 10.20.42.22(slave1),10.20.42.22(slave2),10.20.42.199(master)的机器上部署3节点的 hadoop集群。
1. 设置SSH免密码登录
SSH免密码登录,假设使用root用户,在每台服务器都生成公钥,再合并到authorized_keys,具体操作如下:
    (1)fadora21默认没有启动ssh无密登录,修改/etc/ssh/sshd_config注释掉以下2行。(每台机器都要设置)
#RSAAuthentication yes
#PubkeyAuthentication yes
    (2)在集群中的每台机器上,打开shell终端输入命令,ssh-keygen -t rsa,生成key,不要输入密码,一直回车,/root就会生成.ssh文件夹,这个文件一般是隐藏的。(每台服务器都要设置)
    (3)合并slave节点的公钥到authorized_keys文件。在Master服务器,进入/root/.ssh目录,使用如下命令:
cat id_rsa.pub>> authorized_keys
ssh root@10.20.42.22 cat ~/.ssh/id_rsa.pub>> authorized_keys
ssh root@10.20.42.10 cat ~/.ssh/id_rsa.pub>> authorized_keys
    (4)把Master服务器的authorized_keys、known_hosts复制到Slave服务器的/root/.ssh目录
    (5)终端输入ssh root@10.20.42.22和ssh root@10.20.42.10进行验证是否免密登陆配置成功
2. 搭建hadoop 3节点集群
搭建思路:准备1台主服务器和2台从服务器,从主服务器可以ssh免密登录从服务器器。hadoop压缩包采用上节编译结果:hadoop-2.7.2.tar.gz。 3台服务器的概要信息如下:
Master 10.20.42.199
Slave1 10.20.42.22
Slave2 10.20.42.10
搭建前提: 服务器需要安装JDK并设置好JAVA_HOM等环境变量。可参考下面的例子:
#编辑/etc/profile 文件并设置JAVA_HOME等环境变量
 vi /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.25-6.b17.rc16.fc21.loongson.mips64el
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
#使环境变量生效 并且验证jdk 是否生效
source /etc/profile && java -version
 开始搭建
解压hadoop-2.7.2.tar.gz 软件包,笔者的工作目录为/home/loongson/,没有特殊说明下面的配置文件均来自master服务器。
(1)解压hadoop软件包: tar -xvf hadoop-2.7.2.tar.gz  -C  /home/loongson
(2)在/home/loongson/hadoop-2.7.2目录下手动创建tmp、hdfs、hdfs/data、hdfs/name文件夹。
(3)配置/home/hadoop/hadoop-2.7.2/etc/hadoop目录下的core-site.xml(ip设置成master的地址)
    <configuration>
       <property>
        <name>fs.defaultFS</name>
        <value>hdfs://10.20.42.199:9000</value>
        </property>
        <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/home/loongson/hadoop/tmp</value>
        </property>
        <property>
        <name>io.file.buffer.size</name>
        <value>131702</value>
        </property>
    </configuration>
(4)配置/home/loongson/hadoop-2.7.2/etc/hadoop目录下的hdfs-site.xml(ip设置成master的地址)
    <configuration>
        <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/home/loongson/hadoop/dfs/name</value>
        </property>
        <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/home/loongson/hadoop/dfs/data</value>
        </property>
        <property>
        <name>dfs.replication</name>
        <value>2</value>
        </property>
        <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>10.20.42.199:9001</value>
        </property>
        <property>
        <name>dfs.webhdfs.enabled</name>
        <value>true</value>
        </property>
    </configuration>
(5)配置/home/loongson/hadoop-2.7.2/etc/hadoop目录下的mapred-site.xml.template(ip设置成master的地址)
    <configuration>
        <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
        </property>
        <property>
        <name>mapreduce.jobhistory.address</name>
        <value>10.20.42.199:10020</value>
        </property>
        <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>10.20.42.199:19888</value>
        </property>
    </configuration>
(6)配置/home/loongson/hadoop-2.7.2/etc/hadoop目录下的yarn-site.xml(ip设置成master的地址)
    <configuration>
        <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
        </property>
        <property>
        <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
        <value>org.apache.hadoop.mapred.ShuffleHandler</value>
        </property>
        <property>
        <name>yarn.resourcemanager.address</name>
        <value>10.20.42.199:8032</value>
        </property>
        <property>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>10.20.42.199:8030</value>
        </property>
        <property>
        <name>yarn.resourcemanager.resource-tracker.address</name>
        <value>10.20.42.199:8031</value>
        </property>
        <property>
        <name>yarn.resourcemanager.admin.address</name>
        <value>10.20.42.199:8033</value>
        </property>
        <property>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>10.20.42.199:8088</value>
        </property>
        <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>768</value>
        </property>
    </configuration>
(7)修改位于/home/loongson/hadoop-2.7.2/etc/hadoop目录hadoop-env.sh,yarn-env.sh中的JAVA_HOME等环境变量。
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.25-6.b17.rc16.fc21.loongson.mips64el
(8)配置/home/loongson/hadoop-2.7.2/etc/hadoop目录下的slaves文件,增加2个从slave节点,
10.20.42.10
10.20.42.22
(9)将上述配置好的Hadoop-2.7.2(位于master机器上)使用scp复制到各个slave节点对应位置上
scp -r /home/loongson/hadoop-2.7.2 10.20.42.10:/home/loongson
scp -r /home/loongson/hadoop-2.7.2 10.20.42.22:/home/loongson
(10)在Master服务器启动hadoop,从节点会自动启动,进入/home/loongson/hadoop-2.7.2目录
    (1)关闭机器防火墙:service iptables stop (主从都设置)
    (2)初始化node节点:bin/hdfs namenode -format
    (3)启动全部node: sbin/start-all.sh
This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh
16/09/02 08:49:56 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform...
using builtin-java classes where applicable
Starting namenodes on [hadoop-master-001]
hadoop-master-001: starting namenode, logging to /home/loongson/hadoop-2.7.2/logs/hadoop-root-namenode-
        localhost.localdomain.out
        10.20.42.22: starting datanode, logging to /home/loongson/hadoop-2.7.2/logs/hadoop-root-datanode-localhost.localdomain.out
        10.20.42.22: /home/loongson/hadoop-2.7.2/bin/hdfs: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.25-6.b17.rc16.fc21.loongson.mips64el
        10.20.42.22: /home/loongson/hadoop-2.7.2/bin/hdfs: line 304: /usr/lib/jvm/java-1.8.0-
        openjdk-1.8.0.25-6.b17.rc16.fc21.loongson.mips64el/bin/java: 成功
        10.20.42.10: starting datanode, logging to /home/loongson/hadoop-2.7.2/logs/hadoop-root-datanode-localhost.localdomain.out
        Starting secondary namenodes [hadoop-master-001]
        hadoop-master-001: secondarynamenode running as process 18418. Stop it first.
        16/09/02 08:50:33 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java
        classes where applicable
        starting yarn daemons
        resourcemanager running as process 16937. Stop it first.
        10.20.42.10: starting nodemanager, logging to /home/loongson/hadoop-2.7.2/logs/yarn-root-nodemanager-localhost.localdomain.out
        10.20.42.22: starting nodemanager, logging to /home/loongson/hadoop-2.7.2/logs/yarn-root-nodemanager-localhost.localdomain.out
        10.20.42.22: /home/loongson/hadoop-2.7.2/bin/yarn: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.25-6.b17.rc16.fc21.loongson.mips64el
        10.20.42.22: /home/loongson/hadoop-2.7.2/bin/yarn: line 333: /usr/lib/jvm/java-1.8.0-
        openjdk-1.8.0.25-6.b17.rc16.fc21.loongson.mips64el/bin/java: 成功
    (4)暂停全部节点的命令: sbin/stop-all.sh
    (5)输入jps命令: 如果从节点和主节点显示类似如下,说明节点搭建成功
    master:
    32497 OServerMain
    3506 SecondaryNameNode
    3364 DataNode
    5654 Jps
    2582 OGremlinConsole
    16937 ResourceManager
    3263 NameNode
    slaves:
    21580 Jps
    20622 DataNode
(11)从浏览器访问: http://10.20.42.199:8088/或http://10.20.42.199:50070/ 查看hadop运行情况。下面给出从浏览器打开,看到的hadoop的运行情况截图:
Hadoop运行预览和概要信息:


81.png


七、下载成品
如果觉得上面的移植过程太复杂,笔者已经准备好了移植完的二进制,可以直接下载运行:
http://www.loongnix.org/index.php/Apache_hadoop-2.7.2
八、总结
hadoop-2.7.2 在loongnix1.0 系统上正确完成源码编译和搭建小集群测试,可以作为开发者移植hadoop和进行集群测试的示范过程。
 

龙芯成就中国梦

代表月亮消咩尼 发表了文章 • 0 个评论 • 412 次浏览 • 2017-01-24 11:09 • 来自相关话题

龙芯成就中国梦 记得去年我出差到北京,去天安门旁参观了仰慕已久的中国国家博物馆。在国家博物馆底层的古代中国陈列馆,领略了伟大中国上下几千年历史的博大精深。         对于中国历史我最感兴趣的是古代中国在很早就建立了繁 ...查看全部
龙芯成就中国梦

记得去年我出差到北京,去天安门旁参观了仰慕已久的中国国家博物馆。在国家博物馆底层的古代中国陈列馆,领略了伟大中国上下几千年历史的博大精深。
        对于中国历史我最感兴趣的是古代中国在很早就建立了繁荣的文明社会,绵延几千年而不中断,并且社会经济、文化、科技,都长期居于世界领先水平,成就这一奇迹的原因是什么?
       在博物馆里我看到了大量的古代文物,认识到中国文明的源头,其基础就是先进的信息技术。首先有规范的文字-“汉字”,早在几千年前我们就发明了独立的文 字体系,并且不断演化和推广,从甲骨文到金文、纂书、隶书、行书、楷书等。汉字的发明和不断进步使得社会的知识可以不断的积累,演化出四大发明等先进技 术。然后是文字的书写工具和载体,毛笔、竹简和纸张,使得文明得以广泛传播。还有就是先进的计算工具-“算盘”,算盘有一千多年的悠久历史,中国算盘在古 代就是当时最先进的“计算机”。在宋代的清明上河图里就有“算盘"的身影,“算盘”是中国古代在信息技术领域的一项伟大、重要的发明,也是古代中国能持续 繁荣的重要基础。
在近代,我们曾经引以为为豪的中华文明的基石-汉字,几乎成为了现代化发展的阻碍,英文打字机的效率远远高于普通书写和中文打字机。可以想象,如果中文没有英文同样的打字和传播速度,中国的科技在信息时代会再次落后于世界,民族复兴无从说起。
        感谢计算机和中文输入法的发明,我们现在中文输入的速度甚至比英文还要快了,古老的汉字获得了新生。但由于历史的原因,中国在近现代的计算机技术一直处于 落后的状况,这对中国几千年先进文明的历史地位是不符合的。信息技术是文明发展的基础,要实现中华民族伟大复兴梦想,就必须要坚持发展自主可控的基础软硬 件和IT生态系统。我们不能忘记新中国初期计算所独立研制的109丙机为中国两弹一星所做出的重要贡献。中国人有志气有能力自主实现信息技术的复兴,这是 历史使命对我们的召唤。
        2001年8月19日,中国第一个自主开发的CPU-“龙芯”在计算所横空出世了。我和很多抱有中国梦的国产CPU爱好者在电视、网络上看到这个振奋人心 的消息,千方百计的想了解和接触到龙芯电脑。笔者有幸在2006年就参与了龙芯产业化的宣传推广,也是2007年第一批龙芯电脑的用户。
71.png

2007年第一批龙芯电脑

72.png

笔者在2007年写的龙芯电脑体验文章

当年笔者在龙芯电脑试用的文章里写道:总结这几个月龙芯电脑的使用,笔者亲身体验了龙芯产业的成果。龙芯已经成为了实实在在的产品。但是任何产品都是有个 从无到有,从小到大的过程。龙芯也不例外,如果说和经历了几十年风雨历程的英特尔这棵参天大树比起来,只有几年历史的龙芯就像是还在茁壮成长的“小树 苗”。
        多年以后,龙芯这棵“小树苗”长高了,经历了风霜雨雪的磨练,发出了新的枝杈。现在龙芯已经发展出了大、中、小CPU三个系列多个型号产品,在信息安全、 国防、航天领域取得了不小的成果。现在国家日益重视信息产业的安全可控,国产CPU市场需求也越来越大。随着2015年龙芯3A2000的发布,新一代龙 芯GS464E微结构实现了单核性能的大幅度提高,龙芯在用户体验上越来越好,同时龙芯对软件生态的支持也越来越完善,中标、深度、普华、金山、达梦、金 蝶等多家知名软件公司加入了龙芯软件生态圈。
         经过15年的努力和积累,龙芯是国内能够自主设计微架构的CPU中,坚持时间最久,产品线覆盖最全的国产CPU平台。尽管目前和早成立几十年,资金投入 和软件生态都领先的国际对手还有不小的差距,但我们只要掌握CPU自主微架构的开发能力,经过长久坚持努力,不断缩小差距,逐步建立起自己的生态体系,就 总有赶超的机会。历史证明,只要能坚持星星之火,就可以最终取得燎原之势。
         龙芯CPU首席科学家胡伟武在CFF2016中第二届自主安全产业生态创新发展论坛上讲到:建立自主IT体系是实现“中国梦”的必要条件,我国要建立独 立于Wintel和Android体系外的独立IT 技术体系,做到“三分天下有其一”,这是成为“科技强国”的基本特征。
         笔者有幸作为第一批龙芯电脑的用户,自发参与了龙芯和开源社区的推广,创立了龙芯俱乐部社区。我深深的感觉到龙芯建立自主IT生态的重要性和艰难,同时 也看到,正是龙芯这样长期坚持努力,才会打下了一个比较好的生态基础。为了拓展龙芯的开源技术生态和创新应用,2015年笔者也基于龙芯1C开发了首个龙 芯开源创客智龙主板,以高性价比和开源的策略,吸引更多龙芯开发者,促进龙芯作品的开发。
        笔者在给第一批龙芯开源创客主板用户的致辞中写道:龙芯是中国首个自主CPU内核的处理器,是中国人的骄傲,代表着千百年来中国计算技术的伟大复兴。回望 历史,古代中国的信息技术以珠算为代表引领时代,创造了无限的繁荣。百年的落后对于历史长河只是一个白驹过隙,中国历史的辉煌是我们立志自主CPU核心技 术的源动力,这个梦想并不遥远,就如月亮上的嫦娥、玉兔号一样,是已经正在实现的梦想。这是一个圆梦的时代!我们有理由相信,只要我们努力和坚持,中国 CPU内核技术的落后局面,在龙芯等国产芯片的搏击下,终将成为历史。而在这个大潮激荡的时代,有一群来自五湖四海的龙芯爱好者默默的耕耘着社区,以另一 种方式支持龙芯。
        在龙芯的支持和社区开发者的合作下,首批龙芯智龙创客主板在笔者租用的住所客厅里诞生了。龙芯智龙创客主板前后发出了近千块,甚至销售到了英国、美国、韩国、俄罗斯等国外地区。

73.jpg

2015年龙芯智龙创客主板首发版在笔者租用住所的客厅里组装发货
74.jpg


龙芯创客基于龙芯智龙主板制作的的Wifi遥控小车作品
        2016年3月,龙芯俱乐部开发了业内首个龙芯机器人控制器,在聚丰众筹网站上众筹成功,还和南京工业大学电控学院合作,建立了首个龙芯机器人创新基地。
  2016年8月,龙芯俱乐部再次和龙芯中科、龙芯梦兰合作,面向龙芯爱好者、开发者、学习者推出了基于最新3A2000的龙芯开源电脑。
2016年9月9日龙芯俱乐部及其实体-南京龙众创芯电子科技有限公司和南京工业大学电控学院龙芯机器人创新基地,集体亮相2016国际服务机器人及智能产业展览。
  目前,龙芯俱乐部在龙芯中科的支持下成立了运营实体-南京龙众创芯电子科技有限公司,专门进行龙芯开源技术生态和创新应用的拓展。 在龙芯诞生15周年的纪念日里,我们重装出发,继续追逐中国梦。

 

龙芯中科参加2016海峡两岸互联网产业发展论坛 助力两岸共享云·芯·梦

代表月亮消咩尼 发表了文章 • 0 个评论 • 321 次浏览 • 2017-01-24 11:04 • 来自相关话题

龙芯中科参加2016海峡两岸互联网产业发展论坛 助力两岸共享云·芯·梦 9月23日,“2016海峡两岸互联网产业发展论坛”在浙江奉化成功举办。论坛以“创业创新创意”为主题,旨在进一步深化创新驱动和东引台资战略,推进甬 台经贸交流合作和 ...查看全部
龙芯中科参加2016海峡两岸互联网产业发展论坛 助力两岸共享云·芯·梦

9月23日,“2016海峡两岸互联网产业发展论坛”在浙江奉化成功举办。论坛以“创业创新创意”为主题,旨在进一步深化创新驱动和东引台资战略,推进甬 台经贸交流合作和宁波“中国制造2025”试点示范工作,加快“奉化制造”向“奉化智造”升级。中国工程院院士,中国电子信息产业发展研究院领导,浙江 省、宁波市相关领导,两岸互联网产业、电子信息产业、智能制造产业、文化创意产业领袖及知名企业家,相关重点院校、科研机构及行业协会代表和新闻媒体代表 等约300人共聚奉化,寻找商机,共享合作,拥抱互联网新时代。论坛由主论坛(上午)和“一朵云”、“一片芯”、“一个梦”三场分论坛(下午)组成。
主论坛开幕式环节由中共奉化市委副书记、人民政府市长高浩孟主持。中共宁波市委常委、组织部部长、统战部部长杨立平,台湾区电机电子工业同业公会副秘书长罗怀家,中国电子信息产业发展研究院党委书记宋显珠,浙江省经信委副主任凌云,中共奉化市委书记张文杰在开幕式上致辞。
        在上午主论坛上,北京大学教授、工业和信息化部原副部长杨学山发表题为“新一代信息技术发展机遇与挑战”演讲;中国工程院院士谭建荣做“迎接产业互联网时 代”主题演讲;国家集成电路产业投资基金股份有限公司副总裁张春生以“投资与集成电路产业发展”为主题进行了分享;龙芯中科技术有限公司总裁胡伟武畅谈 “自主CPU发展道路”,分享了龙芯CPU研发及生态建设经验。
        龙芯中科面向国家信息化建设的需求,面向国际信息技术前沿,以安全可控为主题,坚持自主创新,为国家安全战略需求提供自主、安全、可靠的处理器,为信息产 业及工业信息化的创新发展提供高性能、低成本、低功耗的处理器。以2016海峡两岸互联网产业发展论坛为契机,依托海峡两岸集成电路产业资源,龙芯中科愿 和两岸优秀的产业合作伙伴一起,通过优势互补、产业合作等方式,共同为海峡两岸信息产业发展而努力。​
 

龙芯机器人控制器首次亮相南京2016国际服务机器人展

代表月亮消咩尼 发表了文章 • 0 个评论 • 191 次浏览 • 2017-01-24 11:01 • 来自相关话题

龙芯机器人控制器首次亮相南京2016国际服务机器人展     据介绍,为推动我国服务机器人产品的发展、帮助企业推广新产品、新技术及开拓市场,让更多用户了解和评估机器人、智能产品及相应的解决方案,促进产、学、 研、金融、销售、用户之间的 ...查看全部
龙芯机器人控制器首次亮相南京2016国际服务机器人展

    据介绍,为推动我国服务机器人产品的发展、帮助企业推广新产品、新技术及开拓市场,让更多用户了解和评估机器人、智能产品及相应的解决方案,促进产、学、 研、金融、销售、用户之间的互动和交流,中国服务机器人应用及推广联盟、中国机械工业国际合作咨询服务中心、南京市贸促会在2016年9月9日—11日在 南京市国际博览中心举办“2016国际服务机器人及智能产业展览会”。展会期间有6万多行业和普通观众参加体验了各种各样的服务器机器人。期间还举办了 “服务机器人产业国际高峰论坛”,邀请国内外服务机器人及智能产业界的政府官员、专家学者、龙头企业或行业小巨人企业、投资机构、专业买家、相关媒体的顶 尖人物与会,发表精彩演讲,论坛规模达到500人。
51.jpg

南京2016国际服务机器人及智能产业展


52.jpg


南京2016国际服务机器人展上首次亮相的龙芯机器人控制器等产品
        在此次机器人展会中,机器人365嘉年华展区集中展示了各种型号的服务机器人,让人大开眼界。


53.jpg


机器人365嘉年华展区各种机器人集体合影
        参展的也有逼真的仿人机器人,3D打印机器人等吸引了大家的眼球,而且家庭机器人、儿童机器人的展出则使人仿佛看到了科幻电影里的机器人世界离我们不远了。


54.jpg


3D打印的机器人


55.jpg



儿童机器人造型可爱
        龙芯俱乐部此次在南京机器人展上亮相了龙芯智龙创客开发板、业内首个龙芯机器人控制器和机械臂、龙芯开源3A2000电脑等产品。


56.jpg


龙芯俱乐部和南京工业大学电控学院龙芯机器人创新基地展位
        开源龙芯创客主板“智龙”是首个龙芯用户社区-龙芯俱乐部发起的一款以完全开源方式推广的龙芯嵌入式主板,采用了国产龙芯1C处理器,在较小尺寸的电路板 上集成了龙芯1C SOC ,网口、USB口、电源,SD卡插槽和RTC时钟等主要部件,可以运行嵌入式Linux、RT-Thread等操作系统。也是目前最便宜的龙芯嵌 入式学习和创客开发的主板。首次发布以来已经生产销售近千块,建立起有数百名成员的开发者社区,已有英国、俄罗斯、美国等国外客户。


57.jpg


基于龙芯1C的智龙创客主板和WIFI遥控小车作品
        龙芯机器人控制器是龙芯俱乐部2016年基于智龙主板发展的业界首款龙芯机器人核心部件,已经在在聚丰众筹网站进行首发众筹活动成功。  众所周知,机器 人的核心技术中包括有机器人控制器,而机器人控制器的核心也是CPU,所以开发基于国产CPU的机器人控制器,对于发展自主机器人产业具有重要意义。
        本次展示的龙芯机器人控制器采用龙芯1C300SOC,最大支持扩展32路舵机控制,与同等价位的单片机类机器人控制器相比主频提高3倍以上,存储容量也 大大提高,可运行Linux/RT-Thread等操作系统,面向龙芯小型机器人原型的研究开发。可运用在教育机器人、家庭机器人、高级玩具机器人等领 域。今后还将推出基于龙芯2号,3号的机器人控制器以满足更多工业机器人、服务器机器人、特种机器人的需求。目前龙芯机器人控制器已经实现了对舵机机械臂 的控制,并将进行多种机器人原型的开发。
        现场展示的还包括杭州海灵智电推出的FT722S数字总线舵机,支持舵机串联,通过一根总线实现对舵机控制,。还可回读角度,时时刻刻知道舵机所处角度 值。另外还可以设置舵机工作模式 180度 270度 360度连续旋转。该数字总线舵机与普通舵机相比,开发容易、布线方便、功能更多,是普通舵机的升 级产品。


58.jpg


采用龙芯机器人控制器控制的机械臂和海灵智电FT722S数字总线舵机
        龙芯俱乐部近日还基于龙芯三号CPU推出了全新的龙芯开发学习电脑,与第一代龙芯2E/2F电脑、第二代3A1000电脑相比,无论从单核性能还是软件优 化都有较大的提高。据悉,龙芯俱乐部与龙芯中科、龙芯梦兰等厂家合作推出的龙芯开源电脑团购活动有龙芯3A2000和3B1500两个型号。龙芯 3A2000是基于最新的GS464E内核微结构,单核性能与3A1000比大幅度提高,适合用于龙芯软件开发编译、爱好者体验、Linux学习研究和机 器人智能开发。龙芯3B1500内核数量更多,主频更高,适合网络多任务服务,性价比高,可作为办公电脑和搭建小型网络服务器。龙芯开源电脑可运行 loongnix、深度Deepin、中标麒麟、普华等Linux操作系统。龙芯俱乐部还提供定制的Linux安装U盘,方便用户维护。目前龙芯开源电脑 团购活动已经成功,还将在近期针对龙芯爱好者、开发者、学习者推出龙芯开发者会员优惠活动。

59.jpg



龙芯3A2000开源电脑播放高清视频
        现场还展示了基于RT-Thread的RT-IoT Camera 可编程物联网摄像头。RT-IoT Camera是一款能DIY的物联网摄像头,IoT Camera支持通过DIY的方式加入各类传感器,算法,应用逻辑,控制逻辑等进行无限的功能扩展,并实现与其他设备的联动。RT-Thread是一款实 时操作系统,或者说是一款小型的嵌入式操作系统,开发、维护团队主要来自中国国内。RT-IoT Camera 已经在聚丰众筹网站众筹成功,同时还实现了四个半小时达成众筹目标的优异成绩。采用了RT-Thread技术的英语学习机器人也实现批量销 售。


60.jpg


RT-IoT Camera 可编程物联网摄像头和采用RT-Thread技术的英语学习机器人
        由龙芯俱乐部运营实体-南京龙众创芯电子科技有限公司与南京工业大学电控学院共建的龙芯机器人创新基地也是首次参加机器人行业展会。朱徐东、王振尧、张一 毫、沈玉成、孙磊等同学和孙冬梅老师向观众展示了循迹比赛小车、基于龙芯机器人控制器的遥控机械臂等作品。

61.jpg


龙芯机器人创新基地朱徐东调试龙芯机械臂

62.jpg


龙芯机器人创新基地向观众展示作品


南京工业大学电控学院龙芯机器人创新基地成员合影
        由于是龙芯第一次亮相机器人行业展会,引起了不少观众的注意。有很多观众是第一次看到龙芯产品,不停的问这问那,也有人对龙芯早有关注,直接索取龙芯产品 的资料,带来的龙芯技术白皮书、龙芯产品手册很快就发完了。今年正好是龙芯诞生15周年,特意带了些记录龙芯发展历程的册子“龙芯的足迹”,每天摆出来很 早就发完了,最后一本送给了一直关注和支持龙芯的辽宁大学张老师。

63.jpg


龙芯俱乐部创始人石南向辽宁大学张老师赠送“龙芯的足迹”

64.jpg


  在南京2016国际服务机器人展短短3天的时间里,龙芯的展位虽小,却也引起了同行的关注,结交了不少客户。作为一个全新的国产化机器人平台,尽管发展道 长且阻,但笔者以为中国要实现制造强国离不开机器人控制芯片的自主化,国产芯片在智能制造业有很大的需求潜力。龙芯俱乐部在龙芯支持下成立南京龙众创芯电 子科技有限公司,就是希望能在龙芯开源技术生态和创新应用上进行开拓。而现在,龙芯在机器人行业的发展,已经迈出了万里长征的第一步。
 

龙芯中科与Oracle正式签署OpenJDK Contributor协议

呼呀 发表了文章 • 0 个评论 • 354 次浏览 • 2017-01-24 10:53 • 来自相关话题

原文链接:龙芯中科与Oracle正式签署OpenJDK Contributor协议 2016年5月,龙芯OpenJDK8免费向全世界开源(http://hg.loongnix.org),龙芯将其多年的心血回报给了开源社区。龙芯首 次完 ...查看全部
原文链接:龙芯中科与Oracle正式签署OpenJDK Contributor协议

2016年5月,龙芯OpenJDK8免费向全世界开源(http://hg.loongnix.org),龙芯将其多年的心血回报给了开源社区。龙芯首 次完整实现了OpenJDK的MIPS分支,堪称OpenJDK发展史上的一个里程碑。在今年早期的新闻中已经有详细报道,(《聊聊龙芯Java开 源》,http://www.loongson.cn/news/company/446.html)
        在最近两个月中,龙芯启动的新一阶段工作是把代码提交到OpenJDK社区官方代码库,使全世界的OpenJDK用户都能够任意下载使用,使龙芯服务器产 品的使用范围推广到全球开发者。OpenJDK Community要求所有代码贡献者签署一个版权声明,在龙芯签订了OCA(Oracle Contributor Agreement)协议之后,龙芯OpenJDK在产权上已经符合提交至OpenJDK的标准。
        经过多次沟通与努力,龙芯中科已经与Oracle正式签署OpenJDK Contributor协议。龙芯成为OpenJDK贡献者列表中的一个重要成员。龙芯中科的Java团队接下来就要启动向OpenJDK Community提交代码和审核的流程,有希望在不远的将来,OpenJDK 8或者OpenJDK 9的官方代码中就集成了龙芯公司贡献的代码,龙芯平台成为OpenJDK继X86、Sparc、PowerPC、Arm64之后支持的又一个CPU架构分 支。

1.png


龙芯中科成为OpenJDK Contributor
        (页面来源:http://www.oracle.com/technetwork/community/oca-486395.html)
        这个协议的签署成功是龙芯建设软件生态历程中的一个标志性事件,彰显了龙芯由追随国外软件转型为积极参与到国外软件的龙芯mips分支,积蓄自主技术能力、扩大对API生态的影响,进而实现主导产业的信心。
        参考链接:
                OpenJDK: How to contribute,
                http://openjdk.java.net/contribute/
                The OCA Signatories List,
                http://www.oracle.com/technetwork/community/oca-486395.html

龙芯中科参展中国集成电路设计业 2016年会(ICCAD 2016)

代表月亮消咩尼 发表了文章 • 0 个评论 • 201 次浏览 • 2017-01-24 10:53 • 来自相关话题

龙芯中科参展中国集成电路设计业 2016年会(ICCAD 2016)   2016年10月12日龙芯中科公司参展由中国半导体行业协会(CSIA)主办的中国集成电路设计业2016年会(ICCAD 2016)创新发展高峰论坛。为期两天的盛会于2016年 ...查看全部
龙芯中科参展中国集成电路设计业 2016年会(ICCAD 2016)
  2016年10月12日龙芯中科公司参展由中国半导体行业协会(CSIA)主办的中国集成电路设计业2016年会(ICCAD 2016)创新发展高峰论坛。为期两天的盛会于2016年10月12日-13日在长沙湖南国际会展中心举行,来自全球十多个国家和地区的百余家顶尖 IC(集成电路)企业展示了各自的最新产品与技术。

41.jpg

龙芯中科展位
        龙芯中科本次展出了最新一体机产品、龙芯系列芯片及系列开发板等展品。来访参观的与会者对龙芯近年来的发展和生态建设给予了肯定,在展会现场,与会者体验 了基于3A2000的一体机产品,实际体验了基于龙芯处理器的办公应用效果。行业与会者对龙芯芯片的性能、制造工艺等问题进行了了解、交流。对龙芯后续即 将推出的3A3000非常期待。
        龙芯中科公司一直致力于龙芯系列处理器的设计、生产、销售和服务。近日,龙芯3A3000四核处理器芯片(以下简称龙芯3A3000)完成流片并通过系统测试。
        龙芯3A3000的流片成功,标志着我国自主研发的高性能微处理器芯片,可以超越目前引进的同类芯片性能。
        未来,龙芯中科将继续坚持自主发展道路,持续优化提升龙芯处理器性能,与合作伙伴一起构筑安全可控的信息技术体系和生态。

面向计算机系统能力培养的龙芯CPU高校开源计划启动

呼呀 发表了文章 • 0 个评论 • 293 次浏览 • 2017-01-24 10:51 • 来自相关话题

原文链接:面向计算机系统能力培养的龙芯CPU高校开源计划启动   10月21日,在2016中国计算机大会期间,由教育部高等学校计算机类专业教学指导委员会和中国计算机学会教育专委会主办,由龙芯中科、机械工业出版社华章公司等单位承办的“面 ...查看全部
原文链接:面向计算机系统能力培养的龙芯CPU高校开源计划启动

  10月21日,在2016中国计算机大会期间,由教育部高等学校计算机类专业教学指导委员会和中国计算机学会教育专委会主办,由龙芯中科、机械工业出版社华章公司等单位承办的“面向计算机系统能力培养的龙芯CPU高校开源计划”在太原湖滨国际酒店举行。

1.jpg


活动现场
        本次活动由复旦大学张亮教授担任主持,张亮教授介绍了各位来宾和本次活动背景。
        教育部计算机类教学指导委员会王志英副主任作了《系统能力培养改革及相关工作》的演讲,王志英副主任阐述了什么是系统能力培养以及系统培养试点工作的情况,最后谈了系统能力培养改革的有关思考。
教育部计算机类教学指导委员会王志英副主任发表演讲
        龙芯CPU首席科学家、龙芯中科总裁胡伟武就《龙芯发展及系统能力培养理念》发表演讲,胡伟武总裁介绍了龙芯公司的总体情况,研发进展以及龙芯软件生态建设情况,最后,胡伟武总裁阐述了龙芯大学计划,并提出了一系列龙芯开源和开发者资助计划。

3.jpg


龙芯中科总裁胡伟武发表演讲
        龙芯中科副总裁张戈则针对本次活动主题详细阐述了龙芯高校开源计划内容,包括龙芯与系统能力培养、龙芯的开源计划、龙芯教学实验平台以及院校合作计划。

4.jpg


龙芯中科副总裁张戈发表演讲
        在龙芯副总裁张戈演讲完后,龙芯中科总裁胡伟武、教育部计算机类教学指导委员会王志英副主任、院校合作代表张亮老师及MIPS代表等领导嘉宾上台共同启动龙芯开源计划,这也标志着龙芯CPU高校开源计划正式开始。
龙芯高校开源计划启动
         中国科学院大学岗位教授汪文祥介绍了基于龙芯的计算机组成原理/体系结构实验课程并在现场进行了相关实验的演示。
        复旦大学教授张亮发表以题为《基于龙芯的教学操作系统内核设计及实验演示》的报告,讲述了相关实验设计思路、主要特点,并在现场进行了演示操作。


        虎甲虫(北京)总经理程力介绍了龙芯CPU开源项目的线上平台及实验演示,该平台已经开放了龙芯教学实验系统的实验内容。

5.jpg


        Xilinx大学合作经理陆佳华介绍了Xilinx大学合作及相关产学合作项目支持情况。
Xilinx大学合作经理陆佳华发表演讲
        百信信息总经理张永伟发表《基于龙芯CPU的安全可靠实验室建设大学计划》,介绍了和国内重点高等院校合作搭建自主可控软硬件创新实验室的情况。

6.jpg


        活动最后,龙芯中科总裁胡伟武向龙芯开源计划合作试点院校授牌。本次会上首批开源院校选取了涵盖985,211,普通本科等不同教育特色的六所院校进行合 作试点,分别是:复旦大学、南开大学、东北林业大学、南京航空航天大学、大连海洋大学、金陵科技学院。此外,其他院校也可以通过后续申请获得龙芯开源内容 及相关支持。在授牌仪式后,各位嘉宾和现场观众又进行了互动交流。
龙芯中科总裁给合作院校授牌
        计算机专业学生的系统能力在智能、物联时代显得更为重要。系统能力培养需要从硬件开源做起,让学生有更多机会了解并设计自己的处理器。龙 芯以教学生“造”计算机为理念,通过将龙芯CPU面向高校合作并开源,实现“设计真实处理器,运行真实操作系统”,并希望引导高校教师多角度参与教学内容 设计。通过为高校提供完整的线上、线下实验环境,助力计算机专业学生的系统能力培养。
        如想了解开源计划内容可发邮件至:yangkun@loongson.cn

龙芯3A3000处理器芯片流片成功

代表月亮消咩尼 发表了文章 • 1 个评论 • 306 次浏览 • 2017-01-24 10:49 • 来自相关话题

龙芯3A3000处理器芯片流片成功 近日,龙芯3A3000四核处理器芯片(以下简称龙芯3A3000)完成流片并通过系统测试。         基于龙芯3A2000设计,龙芯3A3000进行了结构上的少量改进,如增加处理器核 ...查看全部
龙芯3A3000处理器芯片流片成功

近日,龙芯3A3000四核处理器芯片(以下简称龙芯3A3000)完成流片并通过系统测试。
        基于龙芯3A2000设计,龙芯3A3000进行了结构上的少量改进,如增加处理器核关键队列项数,扩充片上私有/共享缓存容量等,有利于同主频性能提升;并在新工艺下实现了芯片频率的提升。龙芯3A3000实测主频突破1.5GHz以上,访存接口满足DDR3-1600规格,芯片整体性能得以大幅提高;同时,加入了芯片衬底偏压的调节支持,更好地在性能与功耗的矛盾间平衡,拓宽了芯片的适用面;另外,继续维持了芯片封装管脚的向前兼容性,可直接替换下原龙芯3A1000/3A2000芯片,升级BIOS和内核,即可获取更佳的用户体验提升。
        根据现有的测试结果,龙芯3A3000达到了预定的设计性能目标。其中,综合计算性能方面,在1.5GHz主频下,GCC编译的SPEC CPU 2006定点和浮点单核分值分别超过11分和10分;访存性能方面,Steam分值超过13GBps。3A3000已开始小批量生产,其中经过测试支持通过直连形成多路服务器的芯片成为3B3000。
        龙芯3A3000的流片成功,标志着我国自主研发的高性能微处理器芯片,可以超越目前引进的同类芯片性能。
        未来,龙芯中科将继续坚持自主发展道路,持续改进处理器核结构、多核互连结构、高速电路设计等。
龙芯3A3000芯片
31.jpg


 

云宏信达大数据助力龙芯,打造国产大数据生态链

代表月亮消咩尼 发表了文章 • 0 个评论 • 278 次浏览 • 2017-01-24 10:47 • 来自相关话题

云宏信达大数据助力龙芯,打造国产大数据生态链 近日,北京云宏信达信息科技有限公司(以下简称云宏信达)和龙芯中科技术有限公司(以下简称龙芯中科)就大数据支撑系统领域展开合作。信达大数据支撑系统 经过软件层的代码移植和严格测试后,云宏信达 ...查看全部
云宏信达大数据助力龙芯,打造国产大数据生态链

近日,北京云宏信达信息科技有限公司(以下简称云宏信达)和龙芯中科技术有限公司(以下简称龙芯中科)就大数据支撑系统领域展开合作。信达大数据支撑系统 经过软件层的代码移植和严格测试后,云宏信达将正式发布龙芯版的Unidoop信达大数据支撑平台。双方将共同致力于国产大数据软硬件平台一体化的创新和 应用,助力于各行业客户,在大数据相关技术支持下,业务领域得到更好的发展。
            
        云宏信达一直致力于大数据最前沿技术在实际应用中的落地实现,在海量数据的分布式存储计算、异构跨行业数据融合、数据语义融合模型的管理、分析型业务创新 应用的探索和研发等方面都拥有多项具有自主知识产权的产品和专利。信达大数据支撑系统经过双方共同努力,最终达到平稳高效运行于龙芯3B1500双路服务 器上(采用龙芯社区版操作系统Loongnix,http://www.loongnix.org),顺利通过了5大项30小项的严格的功能及性能专项测 试,达到可以交付生产稳定运行的标准。
        信达大数据支撑系统以开源Hadoop为基础,提供了一个能够对海量数据进行分布式处理的软件框架,为处理多样化数据提供了解决方案。信达大数据支撑系统包含了大数据生态圈中的主流组件。

21.png

图1:信达大数据支撑系统组件列表
        龙芯3B1500是国产商用32纳米8核处理器,最高主频可达1.5GHz,支持向量运算加速,最高峰值计算能力达到192GFLOPS,具有很高的性能功耗比。

22.png

图2:龙芯3B1500处理器参数表

23.jpg

图3:龙芯3B1500外观
         龙芯中科公司一直致力于龙芯系列CPU设计、生产、销售和服务,拥有高新技术企业、软件企业、国家规划布局内集成电路设计企业、高性能CPU北京工程实验室及相关安全资质。“龙芯”处理器的优质背景与信达大数据支撑系统的出色表现促成了测试的顺利完成,对云宏信达大数据产品深度优化性能、提高产品竞争力起到了积极的推动作用,同时也是用户选择可信赖的大数据产品的重要依据。
         信达大数据支撑系统采用成熟先进的计算机技术、存储技术和网络技术,构建一个满足海量业务数据分析处理能力、分布式混合存储管理能力和分布式弹性传输能力 等要求的支撑平台系统。在行业应用领域,面向气象行业:提供气象资料的存储管理、索引数据管理、并行计算能力、气象热点数据管理、支撑气象业务应用(包括 短时预报会商业务、气候分析决策业务等)快速查询访问;税务行业:商超小票云大数据平台、增值税电子发票开具、分析服务;邮政行业:全国快递电子面单数据 实时聚合、实时统计监测服务。充分挖掘和利用政府、邮政、银行、保险、气象、税务、证券等行业数据特点,研发和生产大数据业务能力创新平台和产品。
         云宏信达与龙芯中科的携手,初步形成了国产大数据“软硬一体化”的大数据技术的生态基础体系。基于龙芯处理器技术,信达大数据支撑系统解决了国产化的“最后一公里”问题,进一步完善和推进大数据创新生态链的快速形成。
         云宏信达将继续响应国家产业发展政策的号召,坚持与合作伙伴共同推进大数据的创新
与应用,与龙芯中科携手全力支持中国大数据软/硬件产业的转型升级,为中国企业实现创新发展、提升市场竞争力做出更大贡献。